From efdf987f5ea6a09671a0da9b57303273dacc9d36 Mon Sep 17 00:00:00 2001 From: Leo Singer Date: Fri, 16 Aug 2013 23:34:38 -0700 Subject: [PATCH] Assume pixel distance=0 if nan The function _get_pixel_distance_along_axis does not work for geographic axes, in which pixels that are outside of the map area cannot be meaningfully transformed back to data coordinates. If the return value was nan, set to 0. --- lib/matplotlib/axis.py | 4 + .../test_axes/mollweide_grid.pdf | Bin 0 -> 13792 bytes .../test_axes/mollweide_grid.png | Bin 0 -> 38169 bytes .../test_axes/mollweide_grid.svg | 1854 +++++++++++++++++ lib/matplotlib/tests/test_axes.py | 8 + 5 files changed, 1866 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.png create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.svg diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 35308d7e9d4a..4acc66b4123d 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1008,11 +1008,15 @@ def _update_ticks(self, renderer): except: warnings.warn("Unable to find pixel distance along axis for interval padding; assuming no interval padding needed.") ds1 = 0.0 + if np.isnan(ds1): + ds1 = 0.0 try: ds2 = self._get_pixel_distance_along_axis(interval_expanded[1], +0.5) except: warnings.warn("Unable to find pixel distance along axis for interval padding; assuming no interval padding needed.") ds2 = 0.0 + if np.isnan(ds2): + ds2 = 0.0 interval_expanded = (interval_expanded[0] - ds1, interval_expanded[1] + ds2) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.pdf b/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c9306e7185569739d9930646ab870f038ec0b53c GIT binary patch literal 13792 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 J!$6bre*vn6a(e&( literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.png b/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..fe566f77ee5efdf36ef3427c4c4327137f4bf692 GIT binary patch literal 38169 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 E0O`j^9smFU literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.svg b/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.svg new file mode 100644 index 000000000000..f746856f65e1 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_axes/mollweide_grid.svg @@ -0,0 +1,1854 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index ad4b4c5c2a28..cec19b4d815a 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1190,6 +1190,14 @@ def test_transparent_markers(): ax = fig.add_subplot(111) ax.plot(data, 'D', mfc='none', markersize=100) +@image_comparison(baseline_images=['mollweide_grid'], remove_text=True) +def test_mollweide_grid(): + # test that both horizontal and vertical gridlines appear on the Mollweide + # projection + fig = plt.figure() + ax = fig.add_subplot(111, projection='mollweide') + ax.grid() + @cleanup def test_mollweide_forward_inverse_closure(): # test that the round-trip Mollweide forward->inverse transformation is an