|
74 | 74 | import matplotlib.figure as mfigure |
75 | 75 | import matplotlib.transforms as mtransforms |
76 | 76 | import matplotlib.gridspec as mgridspec |
| 77 | +from numbers import Integral |
| 78 | +from matplotlib.gridspec import SubplotSpec |
77 | 79 | try: |
78 | 80 | import matplotlib.backends.backend_macosx as mbackend |
79 | 81 | except ImportError: |
@@ -1459,6 +1461,7 @@ def _update_suptitle(self, title, **kwargs): |
1459 | 1461 |
|
1460 | 1462 | def add_subplot(self, *args, |
1461 | 1463 | proj=None, projection=None, basemap=False, |
| 1464 | + proj_kw=None, projection_kw=None, |
1462 | 1465 | **kwargs): |
1463 | 1466 | """ |
1464 | 1467 | Adds subplot using the existing figure gridspec. |
@@ -1521,16 +1524,20 @@ def add_subplot(self, *args, |
1521 | 1524 | subplotspec = gridspec[(num[0] - 1):num[1]] |
1522 | 1525 |
|
1523 | 1526 | # 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')) |
1525 | 1529 | # Builtin matplotlib polar axes, just use my overridden version |
1526 | | - if name == 'polar': |
| 1530 | + if proj == 'polar': |
1527 | 1531 | proj = 'polar2' |
1528 | 1532 | # Custom Basemap and Cartopy axes |
1529 | 1533 | # TODO: Have Proj return all unused keyword args, with a |
1530 | 1534 | # map_projection = obj entry, and maybe hide the Proj constructor as |
1531 | 1535 | # an argument processing utility? |
1532 | 1536 | 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 |
1534 | 1541 | proj = 'basemap' if basemap else 'cartopy' |
1535 | 1542 |
|
1536 | 1543 | # Initialize |
|
0 commit comments