From 99d9475dae7679cc99457f2f804665cfff972639 Mon Sep 17 00:00:00 2001 From: Robert Cimrman Date: Mon, 21 Feb 2022 11:32:37 +0100 Subject: [PATCH] FIX: allow float markevery with nans in line data in _mark_every_path() - TST: new test_markevery_linear_scales_nans() test + baseline images --- lib/matplotlib/lines.py | 8 +- .../markevery_linear_scales_nans.pdf | Bin 0 -> 15208 bytes .../markevery_linear_scales_nans.png | Bin 0 -> 38540 bytes .../markevery_linear_scales_nans.svg | 3581 +++++++++++++++++ lib/matplotlib/tests/test_axes.py | 26 + 5 files changed, 3613 insertions(+), 2 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.png create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.svg diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 142ad185728e..c070f8706bc1 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -157,8 +157,12 @@ def _slice_or_none(in_v, slc): raise ValueError( "markevery is specified relative to the axes size, but " "the line does not have a Axes as parent") + # calc cumulative distance along path (in display coords): - disp_coords = affine.transform(tpath.vertices) + fin = np.isfinite(verts).all(axis=1) + fverts = verts[fin] + disp_coords = affine.transform(fverts) + delta = np.empty((len(disp_coords), 2)) delta[0, :] = 0 delta[1:, :] = disp_coords[1:, :] - disp_coords[:-1, :] @@ -174,7 +178,7 @@ def _slice_or_none(in_v, slc): inds = inds.argmin(axis=1) inds = np.unique(inds) # return, we are done here - return Path(verts[inds], _slice_or_none(codes, inds)) + return Path(fverts[inds], _slice_or_none(codes, inds)) else: raise ValueError( f"markevery={markevery!r} is a tuple with len 2, but its " diff --git a/lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.pdf b/lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bd4feafd6aa065f3f9ae4d4059a4dae1370eaf63 GIT binary patch literal 15208 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.svg b/lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.svg new file mode 100644 index 000000000000..c52aaf9de094 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_axes/markevery_linear_scales_nans.svg @@ -0,0 +1,3581 @@ + + + + + + + + 2022-03-28T18:57:12.789026 + image/svg+xml + + + Matplotlib v3.6.0.dev1706+g252085fd25, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 2f5bf4c528f8..cbe57537e910 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1548,6 +1548,32 @@ def test_markevery_polar(): plt.plot(theta, r, 'o', ls='-', ms=4, markevery=case) +@image_comparison(['markevery_linear_scales_nans'], remove_text=True) +def test_markevery_linear_scales_nans(): + cases = [None, + 8, + (30, 8), + [16, 24, 30], [0, -1], + slice(100, 200, 3), + 0.1, 0.3, 1.5, + (0.0, 0.1), (0.45, 0.1)] + + cols = 3 + gs = matplotlib.gridspec.GridSpec(len(cases) // cols + 1, cols) + + delta = 0.11 + x = np.linspace(0, 10 - 2 * delta, 200) + delta + y = np.sin(x) + 1.0 + delta + y[:10] = y[-20:] = y[50:70] = np.nan + + for i, case in enumerate(cases): + row = (i // cols) + col = i % cols + plt.subplot(gs[row, col]) + plt.title('markevery=%s' % str(case)) + plt.plot(x, y, 'o', ls='-', ms=4, markevery=case) + + @image_comparison(['marker_edges'], remove_text=True) def test_marker_edges(): x = np.linspace(0, 1, 10)