Skip to content

Commit 7c9419d

Browse files
committed
Update Proj, no longer returns aspect becuase that is fixed automatically by _adjust_aspect
1 parent 0bbcfc4 commit 7c9419d

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

proplot/projs.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,6 @@ def Proj(name, basemap=False, **kwargs):
158158
kwproj.setdefault('rsphere', (6378137.00,6356752.3142))
159159
reso = kwproj.pop('resolution', None) or kwproj.pop('reso', None) or 'c'
160160
proj = mbasemap.Basemap(projection=name, resolution=reso, **kwproj)
161-
aspect = (proj.urcrnrx - proj.llcrnrx) / \
162-
(proj.urcrnry - proj.llcrnry)
163161
# Cartopy
164162
else:
165163
import cartopy.crs as ccrs # verify package is available
@@ -172,9 +170,7 @@ def Proj(name, basemap=False, **kwargs):
172170
if crs is None:
173171
raise ValueError(f'Unknown projection "{name}". Options are: {", ".join(cartopy_projs.keys())}.')
174172
proj = crs(**kwargs)
175-
aspect = (np.diff(proj.x_limits) / \
176-
np.diff(proj.y_limits))[0]
177-
return proj, aspect
173+
return proj
178174

179175
# Various pseudo-rectangular projections
180176
# Inspired by source code for Mollweide implementation

proplot/subplots.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@
7474
import matplotlib.figure as mfigure
7575
import matplotlib.transforms as mtransforms
7676
import matplotlib.gridspec as mgridspec
77+
from numbers import Integral
78+
from matplotlib.gridspec import SubplotSpec
7779
try:
7880
import matplotlib.backends.backend_macosx as mbackend
7981
except ImportError:
@@ -1459,6 +1461,7 @@ def _update_suptitle(self, title, **kwargs):
14591461

14601462
def add_subplot(self, *args,
14611463
proj=None, projection=None, basemap=False,
1464+
proj_kw=None, projection_kw=None,
14621465
**kwargs):
14631466
"""
14641467
Adds subplot using the existing figure gridspec.
@@ -1521,16 +1524,20 @@ def add_subplot(self, *args,
15211524
subplotspec = gridspec[(num[0] - 1):num[1]]
15221525

15231526
# The default is CartesianAxes
1524-
proj = _notNone(proj, projection, 'cartesian', names=('proj','projection'))
1527+
proj = _notNone(proj, projection, 'cartesian', names=('proj', 'projection'))
1528+
proj_kw = _notNone(proj_kw, projection_kw, {}, names=('proj_kw', 'projection_kw'))
15251529
# Builtin matplotlib polar axes, just use my overridden version
1526-
if name == 'polar':
1530+
if proj == 'polar':
15271531
proj = 'polar2'
15281532
# Custom Basemap and Cartopy axes
15291533
# TODO: Have Proj return all unused keyword args, with a
15301534
# map_projection = obj entry, and maybe hide the Proj constructor as
15311535
# an argument processing utility?
15321536
elif proj != 'cartesian':
1533-
kwargs = projs.Proj(name, basemap=basemap, **kwargs)
1537+
map_projection = projs.Proj(proj, basemap=basemap, **proj_kw)
1538+
if 'map_projection' in kwargs:
1539+
warnings.warn(f'Ignoring input "map_projection" {kwargs["map_projection"]!r}.')
1540+
kwargs['map_projection'] = map_projection
15341541
proj = 'basemap' if basemap else 'cartopy'
15351542

15361543
# Initialize

0 commit comments

Comments
 (0)