diff --git a/lib/cartopy/mpl/gridliner.py b/lib/cartopy/mpl/gridliner.py index 500b104ac..9a15430da 100644 --- a/lib/cartopy/mpl/gridliner.py +++ b/lib/cartopy/mpl/gridliner.py @@ -852,13 +852,18 @@ def _axes_domain(self, nx=None, ny=None): ax_transform = self.axes.transAxes desired_trans = ax_transform - transform - nx = nx or 100 - ny = ny or 100 + nx = nx or 101 + ny = ny or 101 x = np.linspace(1e-9, 1 - 1e-9, nx) y = np.linspace(1e-9, 1 - 1e-9, ny) x, y = np.meshgrid(x, y) - coords = np.column_stack((x.ravel(), y.ravel())) + xyp = (self.axes.patch.get_transform()-ax_transform).transform( + self.axes.patch.get_path().vertices) + x = np.concatenate((x.ravel(), xyp[:, 0])) + y = np.concatenate((y.ravel(), xyp[:, 1])) + + coords = np.column_stack((x, y)) in_data = desired_trans.transform(coords) diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_axes/geoaxes_set_boundary_clipping.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_axes/geoaxes_set_boundary_clipping.png index db9b81a02..7ecdfe4b7 100644 Binary files a/lib/cartopy/tests/mpl/baseline_images/mpl/test_axes/geoaxes_set_boundary_clipping.png and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_axes/geoaxes_set_boundary_clipping.png differ diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png index ba46a4ab8..8b0c3afcb 100644 Binary files a/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png differ diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png index 309b38c8d..04bf54ef5 100644 Binary files a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png differ diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline.png index 104dada7d..ef6d3a513 100644 Binary files a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline.png and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline.png differ diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline_usa.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline_usa.png index 88d37aa15..b4c93f30c 100644 Binary files a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline_usa.png and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_inline_usa.png differ diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_orthographic.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_orthographic.png new file mode 100644 index 000000000..55088f113 Binary files /dev/null and b/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_orthographic.png differ diff --git a/lib/cartopy/tests/mpl/test_gridliner.py b/lib/cartopy/tests/mpl/test_gridliner.py index ac73b5d6d..22e8860a7 100644 --- a/lib/cartopy/tests/mpl/test_gridliner.py +++ b/lib/cartopy/tests/mpl/test_gridliner.py @@ -54,7 +54,7 @@ @pytest.mark.natural_earth @ImageTesting(['gridliner1'], # Robinson projection is slightly better in Proj 6+. - tolerance=0.7 if ccrs.PROJ4_VERSION >= (6, 0, 0) else 0.5) + tolerance=0.7 if ccrs.PROJ4_VERSION >= (6, 0, 0) else 0.62) def test_gridliner(): ny, nx = 2, 4 @@ -112,6 +112,13 @@ def test_gridliner(): top=1 - delta, bottom=0 + delta) +@ImageTesting(['gridliner_orthographic']) +def test_gridliner_orthographic(): + plt.figure(figsize=(4, 4)) + ax = plt.subplot(111, projection=ccrs.Orthographic()) + ax.gridlines(ccrs.PlateCarree()) + + def test_gridliner_specified_lines(): meridians = [0, 60, 120, 180, 240, 360] parallels = [-90, -60, -30, 0, 30, 60, 90]