You are reading documentation for the unreleased version of Matplotlib. Try searching for the released version of this page instead?
Version 3.1.1.post1893+gd8123e656
matplotlib
Fork me on GitHub

matplotlib.gridspec.SubplotSpec

class matplotlib.gridspec.SubplotSpec(gridspec, num1, num2=None)[source]

Bases: object

Specifies the location of a subplot in a GridSpec.

Note

Likely, you'll never instantiate a SubplotSpec yourself. Instead you will typically obtain one from a GridSpec using item-access.

Parameters:
gridspec : GridSpec

The GridSpec, which the subplot is referencing.

num1, num2 : int

The subplot will occupy the num1-th cell of the given gridspec. If num2 is provided, the subplot will span between num1-th cell and num2-th cell inclusive.

The index starts from 0.

get_geometry(self)[source]

Return the subplot geometry as tuple (n_rows, n_cols, start, stop).

The indices start and stop define the range of the subplot within the GridSpec. stop is inclusive (i.e. for a single cell start == stop).

get_gridspec(self)[source]
get_position(self, figure, return_all=False)[source]

Update the subplot position from figure.subplotpars.

get_rows_columns(self)[source]

Return the subplot row and column numbers as a tuple (n_rows, n_cols, row_start, row_stop, col_start, col_stop).

get_topmost_subplotspec(self)[source]

Return the topmost SubplotSpec instance associated with the subplot.

num2
subgridspec(self, nrows, ncols, **kwargs)[source]

Create a GridSpec within this subplot.

The created GridSpecFromSubplotSpec will have this SubplotSpec as a parent.

Parameters:
nrows : int

Number of rows in grid.

ncols : int

Number or columns in grid.

Returns:
gridspec : GridSpecFromSubplotSpec
Other Parameters:
**kwargs

All other parameters are passed to GridSpecFromSubplotSpec.

Examples

Adding three subplots in the space occupied by a single subplot:

fig = plt.figure()
gs0 = fig.add_gridspec(3, 1)
ax1 = fig.add_subplot(gs0[0])
ax2 = fig.add_subplot(gs0[1])
gssub = gs0[2].subgridspec(1, 3)
for i in range(3):
    fig.add_subplot(gssub[0, i])