From ec6910cfaabc15b3251541aa489c2f270a65bf8d Mon Sep 17 00:00:00 2001 From: Ryan May <rmay31@gmail.com> Date: Mon, 25 Jan 2016 17:18:35 -0700 Subject: [PATCH 1/2] Make barbs draw correctly again (Fixes #5803) Changes to default linewidth/outline for polygons caused barbs to not be drawn, since they relied on the previous default linewidth of 1. Now we pass a linewidth of 1 unless explicitly overridden. --- lib/matplotlib/quiver.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index aef58c979c6e..dd92676aa142 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -922,6 +922,11 @@ def __init__(self, ax, *args, **kw): kw['edgecolors'] = barbcolor kw['facecolors'] = flagcolor + # Explicitly set a line width if we're not given one, otherwise + # polygons are not outlined and we get no barbs + if 'linewidth' not in kw and 'lw' not in kw: + kw['linewidth'] = 1 + # Parse out the data arrays from the various configurations supported x, y, u, v, c = _parse_args(*args) self.x = x From b8f03525be355ef1199c3f258d6834d1f6b9279e Mon Sep 17 00:00:00 2001 From: Ryan May <rmay31@gmail.com> Date: Mon, 25 Jan 2016 17:26:14 -0700 Subject: [PATCH 2/2] Add a test for Barbs. This is based completely on one of the plots in barbs_demo.py, but it does a pretty good job of exercising Barbs' features. --- .../test_quiver/barbs_test_image.png | Bin 0 -> 19072 bytes lib/matplotlib/tests/test_quiver.py | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_quiver/barbs_test_image.png diff --git a/lib/matplotlib/tests/baseline_images/test_quiver/barbs_test_image.png b/lib/matplotlib/tests/baseline_images/test_quiver/barbs_test_image.png new file mode 100644 index 0000000000000000000000000000000000000000..2df429eacaa5bd201533037f904338665f160b0f GIT binary patch literal 19072 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py index 21d96aa7d1c0..8bcd976861ac 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py @@ -108,6 +108,17 @@ def test_quiver_key_pivot(): ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') +@image_comparison(baseline_images=['barbs_test_image'], + extensions=['png'], remove_text=True) +def test_barbs(): + x = np.linspace(-5, 5, 5) + X, Y = np.meshgrid(x, x) + U, V = 12*X, 12*Y + fig, ax = plt.subplots() + ax.barbs(X, Y, U, V, np.sqrt(U*U + V*V), fill_empty=True, rounding=False, + sizes=dict(emptybarb=0.25, spacing=0.2, height=0.3), + cmap='viridis') + if __name__ == '__main__': import nose nose.runmodule()