From ec6910cfaabc15b3251541aa489c2f270a65bf8d Mon Sep 17 00:00:00 2001 From: Ryan May 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 aef58c979c6..dd92676aa14 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 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. --- .../baseline_images/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 21d96aa7d1c..8bcd976861a 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()