smpl.plot.GridSpec

class smpl.plot.GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratios=None, height_ratios=None)[source]

Bases: GridSpecBase

A grid layout to place subplots within a figure.

The location of the grid cells is determined in a similar way to ~.figure.SubplotParams using left, right, top, bottom, wspace and hspace.

Indexing a GridSpec instance returns a .SubplotSpec.

__init__(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratios=None, height_ratios=None)[source]

Parameters

nrows, ncolsint

The number of rows and columns of the grid.

figure.Figure, optional

Only used for constrained layout to create a proper layoutgrid.

left, right, top, bottomfloat, optional

Extent of the subplots as a fraction of figure width or height. Left cannot be larger than right, and bottom cannot be larger than top. If not given, the values will be inferred from a figure or rcParams at draw time. See also GridSpec.get_subplot_params.

wspacefloat, optional

The amount of width reserved for space between subplots, expressed as a fraction of the average axis width. If not given, the values will be inferred from a figure or rcParams when necessary. See also GridSpec.get_subplot_params.

hspacefloat, optional

The amount of height reserved for space between subplots, expressed as a fraction of the average axis height. If not given, the values will be inferred from a figure or rcParams when necessary. See also GridSpec.get_subplot_params.

width_ratiosarray-like of length ncols, optional

Defines the relative widths of the columns. Each column gets a relative width of width_ratios[i] / sum(width_ratios). If not given, all columns will have the same width.

height_ratiosarray-like of length nrows, optional

Defines the relative heights of the rows. Each row gets a relative height of height_ratios[i] / sum(height_ratios). If not given, all rows will have the same height.

Methods

__init__(nrows, ncols[, figure, left, ...])

Parameters nrows, ncols int The number of rows and columns of the grid.

get_geometry()

Return a tuple containing the number of rows and columns in the grid.

get_grid_positions(fig[, raw])

Return the positions of the grid cells in figure coordinates.

get_height_ratios()

Return the height ratios.

get_subplot_params([figure])

Return the .SubplotParams for the GridSpec.

get_width_ratios()

Return the width ratios.

locally_modified_subplot_params()

Return a list of the names of the subplot parameters explicitly set in the GridSpec.

new_subplotspec(loc[, rowspan, colspan])

Create and return a .SubplotSpec instance.

set_height_ratios(height_ratios)

Set the relative heights of the rows.

set_width_ratios(width_ratios)

Set the relative widths of the columns.

subplots(*[, sharex, sharey, squeeze, ...])

Add all subplots specified by this GridSpec to its parent figure.

tight_layout(figure[, renderer, pad, h_pad, ...])

Adjust subplot parameters to give specified padding.

update(**kwargs)

Update the subplot parameters of the grid.

Attributes

ncols

The number of columns in the grid.

nrows

The number of rows in the grid.

get_geometry()

Return a tuple containing the number of rows and columns in the grid.

get_grid_positions(fig, raw=<deprecated parameter>)

Return the positions of the grid cells in figure coordinates.

Parameters

fig~matplotlib.figure.Figure

The figure the grid should be applied to. The subplot parameters (margins and spacing between subplots) are taken from fig.

rawbool, default: False

If True, the subplot parameters of the figure are not taken into account. The grid spans the range [0, 1] in both directions without margins and there is no space between grid cells. This is used for constrained_layout.

Returns

bottoms, tops, lefts, rightsarray

The bottom, top, left, right positions of the grid cells in figure coordinates.

get_height_ratios()

Return the height ratios.

This is None if no height ratios have been set explicitly.

get_subplot_params(figure=None)[source]

Return the .SubplotParams for the GridSpec.

In order of precedence the values are taken from

get_width_ratios()

Return the width ratios.

This is None if no width ratios have been set explicitly.

locally_modified_subplot_params()[source]

Return a list of the names of the subplot parameters explicitly set in the GridSpec.

This is a subset of the attributes of .SubplotParams.

property ncols

The number of columns in the grid.

new_subplotspec(loc, rowspan=1, colspan=1)

Create and return a .SubplotSpec instance.

Parameters

loc(int, int)

The position of the subplot in the grid as (row_index, column_index).

rowspan, colspanint, default: 1

The number of rows and columns the subplot should span in the grid.

property nrows

The number of rows in the grid.

set_height_ratios(height_ratios)

Set the relative heights of the rows.

height_ratios must be of length nrows. Each row gets a relative height of height_ratios[i] / sum(height_ratios).

set_width_ratios(width_ratios)

Set the relative widths of the columns.

width_ratios must be of length ncols. Each column gets a relative width of width_ratios[i] / sum(width_ratios).

subplots(*, sharex=False, sharey=False, squeeze=True, subplot_kw=None)

Add all subplots specified by this GridSpec to its parent figure.

See .Figure.subplots for detailed documentation.

tight_layout(figure, renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None)[source]

Adjust subplot parameters to give specified padding.

Parameters

padfloat

Padding between the figure edge and the edges of subplots, as a fraction of the font-size.

h_pad, w_padfloat, optional

Padding (height/width) between edges of adjacent subplots. Defaults to pad.

recttuple (left, bottom, right, top), default: None

(left, bottom, right, top) rectangle in normalized figure coordinates that the whole subplots area (including labels) will fit into. Default (None) is the whole figure.

update(**kwargs)[source]

Update the subplot parameters of the grid.

Parameters that are not explicitly given are not changed. Setting a parameter to None resets it to :rc:`figure.subplot.*`.

Parameters

left, right, top, bottomfloat or None, optional

Extent of the subplots as a fraction of figure width or height.

wspace, hspacefloat, optional

Spacing between the subplots as a fraction of the average subplot width / height.