From ec2aff46351752ed1f546d5ccd99e64e17fb9ce0 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Mon, 28 Jul 2014 18:31:18 -0400 Subject: [PATCH] Fix #3298. Wedge's shouldn't special case the "round the horn" --- lib/matplotlib/path.py | 4 +- .../test_patches/wedge_range.pdf | Bin 0 -> 4207 bytes .../test_patches/wedge_range.png | Bin 0 -> 24157 bytes .../test_patches/wedge_range.svg | 378 ++++++++++++++++++ lib/matplotlib/tests/test_patches.py | 31 ++ 5 files changed, 410 insertions(+), 3 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_patches/wedge_range.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_patches/wedge_range.png create mode 100644 lib/matplotlib/tests/baseline_images/test_patches/wedge_range.svg diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 254104979409..2249790be469 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -719,7 +719,7 @@ def circle(cls, center=(0., 0.), radius=1., readonly=False): MAGIC45 = np.sqrt((MAGIC*MAGIC) / 2.0) vertices = np.array([[0.0, -1.0], - + [MAGIC, -1.0], [SQRTHALF-MAGIC45, -SQRTHALF-MAGIC45], [SQRTHALF, -SQRTHALF], @@ -832,8 +832,6 @@ def arc(cls, theta1, theta2, n=None, is_wedge=False): eta1 = np.arctan2(np.sin(theta1), np.cos(theta1)) eta2 = np.arctan2(np.sin(theta2), np.cos(theta2)) eta2 -= twopi * np.floor((eta2 - eta1) / twopi) - if (theta2 - theta1 > np.pi) and (eta2 - eta1 < np.pi): - eta2 += twopi # number of curve segments to make if n is None: diff --git a/lib/matplotlib/tests/baseline_images/test_patches/wedge_range.pdf b/lib/matplotlib/tests/baseline_images/test_patches/wedge_range.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bfb079b97af25ef5dba2b9ec5fba58675f83e96b GIT binary patch literal 4207 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 G_WuH}rI{1} literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_patches/wedge_range.svg b/lib/matplotlib/tests/baseline_images/test_patches/wedge_range.svg new file mode 100644 index 000000000000..09a11c755f22 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_patches/wedge_range.svg @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index cf3b13ed20d8..317f1e8dffc4 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -218,6 +218,37 @@ def test_wedge_movement(): getattr(w, func)(new_v) assert_equal(getattr(w, attr), new_v) + +@image_comparison(baseline_images=['wedge_range'], + remove_text=True) +def test_wedge_range(): + ax = plt.axes() + + t1 = 2.313869244286224 + + args = [[52.31386924, 232.31386924], + [52.313869244286224, 232.31386924428622], + [t1, t1 + 180.0], + [0, 360], + [90, 90 + 360], + [-180, 180], + [0, 380], + [45, 46], + [46, 45]] + + for i, (theta1, theta2) in enumerate(args): + x = i % 3 + y = i // 3 + + wedge = mpatches.Wedge( + (x * 3, y * 3), 1, theta1, theta2, facecolor='none', edgecolor='k', lw=3) + + ax.add_artist(wedge) + + ax.set_xlim([-2, 8]) + ax.set_ylim([-2, 9]) + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False)