diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 9728fb6ea5a8..80f9c39f931a 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1546,6 +1546,7 @@ def draw_path_collection(self, gc, master_transform, paths, all_transforms, if not len(facecolors): filled = False + can_do_optimization = not gc.get_hatch() else: if np.all(facecolors[:, 3] == facecolors[0, 3]): filled = facecolors[0, 3] != 0.0 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf index d7e929b97333..56e89ef042af 100644 Binary files a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf and b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf differ diff --git a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png index 25f3b3bf07da..c544cf976ae5 100644 Binary files a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png and b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png differ diff --git a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg index 8097f37fe417..0f3d570a4452 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg @@ -5,7 +5,7 @@ @@ -150,16 +150,16 @@ z " id="C0_3_f969ac661b"/> - + - + - + - + @@ -295,19 +295,19 @@ z " id="C1_4_cc337c61e6"/> - + - + - + - + - + @@ -411,7 +411,7 @@ L496.08 152.524 L500.544 146.972 L505.008 141.022 L509.472 134.768 -L513.936 128.308" style="fill:none;stroke:#000000;"/> +L513.936 128.308" style="fill:none;stroke:#000000;stroke-linecap:square;"/> +L513.936 137.372" style="fill:none;stroke:#000000;stroke-linecap:square;"/> @@ -522,68 +522,68 @@ L513.936 137.372" style="fill:none;stroke:#000000;"/> +L0 -4" id="m93b0483c22" style="stroke:#000000;stroke-width:0.5;"/> - + +L0 4" id="m741efc42ff" style="stroke:#000000;stroke-width:0.5;"/> - + - + - + - + - + - + - + - + - + @@ -594,92 +594,92 @@ L0 4" id="mdad270ee8e" style="stroke:#000000;stroke-linecap:butt;stroke-width:0. +L4 0" id="m728421d6d4" style="stroke:#000000;stroke-width:0.5;"/> - + +L-4 0" id="mcb0005524f" style="stroke:#000000;stroke-width:0.5;"/> - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -817,28 +817,28 @@ z " id="C2_7_58250ced59"/> - + - + - + - + - + - + - + - + @@ -974,19 +974,19 @@ z " id="C3_4_826670eee0"/> - + - + - + - + - + @@ -1090,7 +1090,7 @@ L496.08 331.48 L500.544 324.817 L505.008 317.677 L509.472 310.172 -L513.936 302.421" style="fill:none;stroke:#000000;"/> +L513.936 302.421" style="fill:none;stroke:#000000;stroke-linecap:square;"/> +L513.936 313.298" style="fill:none;stroke:#000000;stroke-linecap:square;"/> - + - + - + - + - + - + - + - + - + - + @@ -1241,72 +1241,72 @@ L513.936 313.298" style="fill:none;stroke:#000000;"/> - + - + - + - + - + - + - + - + - + - + - + - + @@ -1341,4 +1341,24 @@ L72 231.709" style="fill:none;stroke:#000000;"/> + + + + + + diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 1bcdaf544bad..0882e13a7075 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -578,7 +578,7 @@ def test_fill_between_interpolate(): fig = plt.figure() ax = fig.add_subplot(211) ax.plot(x, y1, x, y2, color='black') - ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='green', interpolate=True) + ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='white', hatch='/', interpolate=True) ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', interpolate=True) # Test support for masked arrays.