From 93725330d66a2d7ede290f1739744b32452b8b86 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Fri, 4 Dec 2015 19:32:54 -1000 Subject: [PATCH] Merge pull request #5620 from tacaswell/fix_quiverkey FIX: quiver key pivot location --- lib/matplotlib/quiver.py | 6 +++++- .../test_quiver/quiver_key_pivot.png | Bin 0 -> 59769 bytes lib/matplotlib/tests/test_quiver.py | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_quiver/quiver_key_pivot.png diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index f2c7aab2d187..aef58c979c6e 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -228,7 +228,7 @@ class QuiverKey(martist.Artist): """ Labelled arrow for use as a quiver plot scale key.""" halign = {'N': 'center', 'S': 'center', 'E': 'left', 'W': 'right'} valign = {'N': 'bottom', 'S': 'top', 'E': 'center', 'W': 'center'} - pivot = {'N': 'mid', 'S': 'mid', 'E': 'tip', 'W': 'tail'} + pivot = {'N': 'middle', 'S': 'middle', 'E': 'tip', 'W': 'tail'} def __init__(self, Q, X, Y, U, label, **kw): martist.Artist.__init__(self) @@ -708,6 +708,10 @@ def _h_arrows(self, length): X = X - X[:, 3, np.newaxis] # numpy bug? using -= does not # work here unless we multiply # by a float first, as with 'mid'. + elif self.pivot != 'tail': + raise ValueError(("Quiver.pivot must have value in {{'middle', " + "'tip', 'tail'}} not {}").format(self.pivot)) + tooshort = length < self.minlength if tooshort.any(): # Use a heptagonal dot: diff --git a/lib/matplotlib/tests/baseline_images/test_quiver/quiver_key_pivot.png b/lib/matplotlib/tests/baseline_images/test_quiver/quiver_key_pivot.png new file mode 100644 index 0000000000000000000000000000000000000000..4763bd26d841f352488ddf3a76b98522e7bc17f8 GIT binary patch literal 59769 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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 e95edd47f9ba..21d96aa7d1c0 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py @@ -92,6 +92,22 @@ def test_quiver_copy(): assert q0.V[0] == 2.0 +@image_comparison(baseline_images=['quiver_key_pivot'], + extensions=['png'], remove_text=True) +def test_quiver_key_pivot(): + fig, ax = plt.subplots() + + u, v = np.mgrid[0:2*np.pi:10j, 0:2*np.pi:10j] + + q = ax.quiver(np.sin(u), np.cos(v)) + ax.set_xlim(-2, 11) + ax.set_ylim(-2, 11) + ax.quiverkey(q, 0.5, 1, 1, 'N', labelpos='N') + ax.quiverkey(q, 1, 0.5, 1, 'E', labelpos='E') + ax.quiverkey(q, 0.5, 0, 1, 'S', labelpos='S') + ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') + + if __name__ == '__main__': import nose nose.runmodule()