subplots¶
- subplots(array=None, ncols=1, nrows=1, ref=1, order='C', aspect=1, figsize=None, width=None, height=None, journal=None, axwidth=None, axheight=None, hspace=None, wspace=None, space=None, hratios=None, wratios=None, width_ratios=None, height_ratios=None, left=None, bottom=None, right=None, top=None, basemap=None, proj=None, projection=None, proj_kw=None, projection_kw=None, **kwargs)[source]¶
Create a figure with a single subplot or arbitrary grids of subplots, analogous to
matplotlib.pyplot.subplots
. The subplots can be drawn with arbitrary projections.- Parameters
array (2d array-like of int, optional) – Array specifying complex grid of subplots. Think of this array as a “picture” of your figure. For example, the array
[[1, 1], [2, 3]]
creates one long subplot in the top row, two smaller subplots in the bottom row. Integers must range from 1 to the number of plots.0
indicates an empty space. For example,[[1, 1, 1], [2, 0, 3]]
creates one long subplot in the top row with two subplots in the bottom row separated by a space.ncols, nrows (int, optional) – Number of columns, rows. Ignored if
array
was passed. Use these arguments for simpler subplot grids.order ({‘C’, ‘F’}, optional) – Whether subplots are numbered in column-major (
'C'
) or row-major ('F'
) order. Analogous tonumpy.array
ordering. This controls the order that subplots appear in theSubplotsContainer
returned by this function, and the order of subplot a-b-c labels (seeformat
).figsize (length-2 tuple, optional) – Tuple specifying the figure
(width, height)
.width, height (float or str, optional) – The figure width and height. If you specify just one, the aspect ratio
aspect
of the reference subplotref
will be preserved.ref (int, optional) – The reference subplot number. The
axwidth
,axheight
, andaspect
keyword args are applied to this subplot, and the aspect ratio is conserved for this subplot in the tight layout adjustment. If you did not specifywidth_ratios
andheight_ratios
, theaxwidth
,axheight
, andaspect
settings will apply to all subplots – not just theref
subplot.axwidth, axheight (float or str, optional) – The width, height of the reference subplot. Units are interpreted by
units
. Default isrc[‘subplots.axwidth’]
='20em'
. Ignored ifwidth
,height
, orfigsize
was passed.aspect (float or length-2 list of floats, optional) – The reference subplot aspect ratio, in numeric form (width divided by height) or as a (width, height) tuple. Ignored if both
width
andheight
or bothaxwidth
andaxheight
were passed.width_ratios, height_ratios (float or list thereof, optional) – Passed to
GridSpec
, denotes the width and height ratios for the subplot grid. Length ofwidth_ratios
must match the number of rows, and length ofheight_ratios
must match the number of columns.wratios, hratios – Aliases for
width_ratios
,height_ratios
.wspace, hspace, space (float or str or list thereof, optional) – Passed to
GridSpec
, denotes the spacing between grid columns, rows, and both, respectively. If float or string, expanded into lists of lengthncols - 1
(forwspace
) or lengthnrows - 1
(forhspace
).Units are interpreted by
units
for each element of the list. By default, these are determined by the “tight layout” algorithm.left, right, top, bottom (float or str, optional) – Passed to
GridSpec
, denotes the width of padding between the subplots and the figure edge. Units are interpreted byunits
. By default, these are determined by the “tight layout” algorithm.proj, projection (str,
cartopy.crs.Projection
,Basemap
, list thereof, or dict thereof, optional) – The map projection specification(s). If'cartesian'
(the default), aCartesianAxes
is created. If'polar'
, aPolarAxes
is created. Otherwise, the argument is interpreted byProj
, and the result is used to make aGeoAxes
(in this case the argument can be acartopy.crs.Projection
instance, aBasemap
instance, or a projection name listed in this table).To use different projections for different subplots, you have two options:
Pass a list of projection specifications, one for each subplot. For example,
plot.subplots(ncols=2, proj=('cartesian', 'robin'))
.Pass a dictionary of projection specifications, where the keys are integers or tuples of integers that indicate the projection to use for the corresponding subplot(s). If a key is not provided, the default projection
'cartesian'
is used. For example,plot.subplots(ncols=4, proj={2: 'merc', (3, 4): 'stere'})
creates a figure with a Cartesian axes for the first subplot, a Mercator projection for the second subplot, and a Stereographic projection for the third and fourth subplots.
proj_kw, projection_kw (dict, list of dict, or dict of dicts, optional) – Keyword arguments passed to
Basemap
or cartopyProjection
classes on instantiation. If dictionary of properties, applies globally. If list of dictionaries or dictionary of dictionaries, these apply to specific subplots, as withproj
. For example,plot.subplots(ncols=2, proj_kw={1: {'lon_0': 0}, 2: {'lon_0': 180}})
centers the projection in the left subplot on the prime meridian and in the right subplot on the international dateline.basemap (bool, list of bool, or dict of bool, optional) – Passed to
Proj
, determines whether projection string names like'pcarree'
are used to createBasemapAxes
orCartopyAxes
. Default isFalse
. If boolean, applies to all subplots. If list or dict, applies to specific subplots, as withproj
.journal (str, optional) – String name corresponding to an academic journal standard that is used to control the figure width and, if specified, the height. See the below table.
Key
Size description
Organization
'aaas1'
1-column
American Association for the Advancement of Science (e.g. Science)
'aaas2'
2-column
”
'agu1'
1-column
'agu2'
2-column
”
'agu3'
full height 1-column
”
'agu4'
full height 2-column
”
'ams1'
1-column
'ams2'
small 2-column
”
'ams3'
medium 2-column
”
'ams4'
full 2-column
”
'nat1'
1-column
'nat2'
2-column
”
'pnas1'
1-column
'pnas2'
2-column
”
'pnas3'
landscape page
”
- Other Parameters
**kwargs – Passed to
Figure
.- Returns
f (
Figure
) – The figure instance.axs (
SubplotsContainer
) – A special list of axes instances. SeeSubplotsContainer
.