GridSpec
- class GridSpec(nrows=1, ncols=1, **kwargs)[source]
Bases:
GridSpecA
GridSpecsubclass that permits variable spacing between successive rows and columns and hides “panel slots” from indexing.- Parameters:
- Other Parameters:
left, right, top, bottom (
unit-spec, default:None) – The fixed space between the subplots and the figure edge. If float, units are em-widths. If string, interpreted byunits. IfNone, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm.wspace, hspace, space (
unit-specor sequence, default:None) – The fixed space between grid columns, rows, and both, respectively. If float, string, orNone, this value is expanded into lists of lengthncols - 1(forwspace) or lengthnrows - 1(forhspace). If a sequence, its length must match these lengths. If float, units are em-widths. If string, interpreted byunits.For elements equal to
None, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm. For example,subplots(ncols=3, tight=True, wspace=(2, None))fixes the space between columns 1 and 2 but lets the tight layout algorithm determine the space between columns 2 and 3.wratios, hratios (
floator sequence, optional) – Passed toGridSpec, denotes the width and height ratios for the subplot grid. Length ofwratiosmust match the number of columns, and length ofhratiosmust match the number of rows.width_ratios, height_ratios – Aliases for
wratios,hratios. Included for consistency withmatplotlib.gridspec.GridSpec.wpad, hpad, pad (
unit-specor sequence, optional) – The tight layout padding between columns, rows, and both, respectively. Unlikespace, these control the padding between subplot content (including text, ticks, etc.) rather than subplot edges. As withspace, these can be scalars or arrays optionally containingNone. For elements equal toNone, the default isinnerpad. If float, units are em-widths. If string, interpreted byunits.wequal, hequal, equal (
bool, default:rc['subplots.equalspace']=False) – Whether to make the tight layout algorithm apply equal spacing between columns, rows, or both.wgroup, hgroup, group (
bool, default:rc['subplots.groupspace']=True) – Whether to make the tight layout algorithm just consider spaces between adjacent subplots instead of entire columns and rows of subplots.outerpad (
unit-spec, default:rc['subplots.outerpad']=0.5) – The scalar tight layout padding around the left, right, top, bottom figure edges. If float, units are em-widths. If string, interpreted byunits.innerpad (
unit-spec, default:rc['subplots.innerpad']=1.0) – The scalar tight layout padding between columns and rows. Synonymous withpad. If float, units are em-widths. If string, interpreted byunits.panelpad (
unit-spec, default:rc['subplots.panelpad']=0.5) – The scalar tight layout padding between subplots and their panels, colorbars, and legends and between “stacks” of these objects. If float, units are em-widths. If string, interpreted byunits.
See also
ultraplot.ui.figure,ultraplot.figure.Figure,ultraplot.ui.subplots,ultraplot.figure.Figure.subplots,ultraplot.figure.Figure.add_subplots,matplotlib.gridspec.GridSpecImportant
Adding axes panels, axes or figure colorbars, and axes or figure legends quietly augments the gridspec geometry by inserting “panel slots”. However, subsequently indexing the gridspec with
gs[num]orgs[row, col]will ignore the “panel slots”. This permits adding new subplots by passinggs[num]orgs[row, col]toadd_subploteven in the presence of panels (see__getitem__for details). This also means that eachGridSpecisFigure-specific, i.e. it can only be used once (if you are working withGridSpecinstances manually and want the same geometry for multiple figures, you must create a copy withGridSpec.copybefore working on the subsequent figure).Attributes Summary
The
ultraplot.figure.Figureuniquely associated with thisGridSpec.Methods Summary
copy(**kwargs)Return a copy of the
GridSpecwith theFigure-specific "panel slots" removed.Return the number of "unhidden" non-panel rows and columns in the grid (see
GridSpecfor details).get_grid_positions([figure])Return the subplot grid positions allowing for variable inter-subplot spacing and using physical units for the spacing terms.
Return the height ratios.
Return the number of "hidden" panel rows and columns in the grid (see
GridSpecfor details).Return the
SubplotParamsfor the GridSpec.Return the total number of "unhidden" and "hidden" rows and columns in the grid (see
GridSpecfor details).Return the width ratios.
Return a list of the names of the subplot parameters explicitly set in the GridSpec.
Set the relative heights of the rows.
Set the relative widths of the columns.
Adjust subplot parameters to give specified padding.
update(**kwargs)Update the gridspec with arbitrary initialization keyword arguments and update the subplot positions.
Attributes Documentation
- bottom
- figure
The
ultraplot.figure.Figureuniquely associated with thisGridSpec. On assignment the gridspec parameters and figure size are updated.
- gridheight
- gridwidth
- hpad
- hpad_panel
- hpad_total
- hratios
- hratios_panel
- hratios_total
- hspace
- hspace_panel
- hspace_total
- left
- ncols
- ncols_panel
- ncols_total
- nrows
- nrows_panel
- nrows_total
- panelheight
- panelwidth
- right
- spaceheight
- spacewidth
- top
- wpad
- wpad_panel
- wpad_total
- wratios
- wratios_panel
- wratios_total
- wspace
- wspace_panel
- wspace_total
Methods Documentation
- copy(**kwargs)[source]
Return a copy of the
GridSpecwith theFigure-specific “panel slots” removed. This can be useful if you want to draw multiple figures with the same geometry. Properties are inherited from thisGridSpecby default but can be changed by passing keyword arguments.- Parameters:
left, right, top, bottom (
unit-spec, default:None) – The fixed space between the subplots and the figure edge. If float, units are em-widths. If string, interpreted byunits. IfNone, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm.wspace, hspace, space (
unit-specor sequence, default:None) – The fixed space between grid columns, rows, and both, respectively. If float, string, orNone, this value is expanded into lists of lengthncols - 1(forwspace) or lengthnrows - 1(forhspace). If a sequence, its length must match these lengths. If float, units are em-widths. If string, interpreted byunits.For elements equal to
None, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm. For example,subplots(ncols=3, tight=True, wspace=(2, None))fixes the space between columns 1 and 2 but lets the tight layout algorithm determine the space between columns 2 and 3.wratios, hratios (
floator sequence, optional) – Passed toGridSpec, denotes the width and height ratios for the subplot grid. Length ofwratiosmust match the number of columns, and length ofhratiosmust match the number of rows.width_ratios, height_ratios – Aliases for
wratios,hratios. Included for consistency withmatplotlib.gridspec.GridSpec.wpad, hpad, pad (
unit-specor sequence, optional) – The tight layout padding between columns, rows, and both, respectively. Unlikespace, these control the padding between subplot content (including text, ticks, etc.) rather than subplot edges. As withspace, these can be scalars or arrays optionally containingNone. For elements equal toNone, the default isinnerpad. If float, units are em-widths. If string, interpreted byunits.wequal, hequal, equal (
bool, default:rc['subplots.equalspace']=False) – Whether to make the tight layout algorithm apply equal spacing between columns, rows, or both.wgroup, hgroup, group (
bool, default:rc['subplots.groupspace']=True) – Whether to make the tight layout algorithm just consider spaces between adjacent subplots instead of entire columns and rows of subplots.outerpad (
unit-spec, default:rc['subplots.outerpad']=0.5) – The scalar tight layout padding around the left, right, top, bottom figure edges. If float, units are em-widths. If string, interpreted byunits.innerpad (
unit-spec, default:rc['subplots.innerpad']=1.0) – The scalar tight layout padding between columns and rows. Synonymous withpad. If float, units are em-widths. If string, interpreted byunits.panelpad (
unit-spec, default:rc['subplots.panelpad']=0.5) – The scalar tight layout padding between subplots and their panels, colorbars, and legends and between “stacks” of these objects. If float, units are em-widths. If string, interpreted byunits.
See also
- get_geometry()[source]
Return the number of “unhidden” non-panel rows and columns in the grid (see
GridSpecfor details).
- get_grid_positions(figure=None)[source]
Return the subplot grid positions allowing for variable inter-subplot spacing and using physical units for the spacing terms. The resulting positions include “hidden” panel rows and columns.
Note
The physical units for positioning grid cells are converted from em-widths to inches when the
GridSpecis instantiated. This means that subsequent changes torc['font.size']will have no effect on the spaces. This is consistent withrc['font.size']having no effect on already-instantiated figures.See also
- get_height_ratios()
Return the height ratios.
This is None if no height ratios have been set explicitly.
- get_panel_geometry()[source]
Return the number of “hidden” panel rows and columns in the grid (see
GridSpecfor details).
- get_subplot_params()
Return the
SubplotParamsfor the GridSpec.In order of precedence the values are taken from
non-None attributes of the GridSpec
the provided figure
Note that the
figureattribute of the GridSpec is always ignored.
- get_total_geometry()[source]
Return the total number of “unhidden” and “hidden” rows and columns in the grid (see
GridSpecfor details).
- get_width_ratios()
Return the width ratios.
This is None if no width ratios have been set explicitly.
- locally_modified_subplot_params()
Return a list of the names of the subplot parameters explicitly set in the GridSpec.
This is a subset of the attributes of
SubplotParams.
- set_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()
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).
- subgridspec()
- tight_layout()
Adjust subplot parameters to give specified padding.
- Parameters:
figure (
Figure) – The figure.renderer (
RendererBasesubclass, optional) – The renderer to be used.pad (
float) – Padding between the figure edge and the edges of subplots, as a fraction of the font-size.h_pad, w_pad (
float, optional) – Padding (height/width) between edges of adjacent subplots. Defaults to pad.rect (
tuple (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 gridspec with arbitrary initialization keyword arguments and update the subplot positions.
- Parameters:
left, right, top, bottom (
unit-spec, default:None) – The fixed space between the subplots and the figure edge. If float, units are em-widths. If string, interpreted byunits. IfNone, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm.wspace, hspace, space (
unit-specor sequence, default:None) – The fixed space between grid columns, rows, and both, respectively. If float, string, orNone, this value is expanded into lists of lengthncols - 1(forwspace) or lengthnrows - 1(forhspace). If a sequence, its length must match these lengths. If float, units are em-widths. If string, interpreted byunits.For elements equal to
None, the space is determined automatically based on the tick and label settings. Ifrc['subplots.tight']isTrueortight=Truewas passed to the figure, the space is determined by the tight layout algorithm. For example,subplots(ncols=3, tight=True, wspace=(2, None))fixes the space between columns 1 and 2 but lets the tight layout algorithm determine the space between columns 2 and 3.wratios, hratios (
floator sequence, optional) – Passed toGridSpec, denotes the width and height ratios for the subplot grid. Length ofwratiosmust match the number of columns, and length ofhratiosmust match the number of rows.width_ratios, height_ratios – Aliases for
wratios,hratios. Included for consistency withmatplotlib.gridspec.GridSpec.wpad, hpad, pad (
unit-specor sequence, optional) – The tight layout padding between columns, rows, and both, respectively. Unlikespace, these control the padding between subplot content (including text, ticks, etc.) rather than subplot edges. As withspace, these can be scalars or arrays optionally containingNone. For elements equal toNone, the default isinnerpad. If float, units are em-widths. If string, interpreted byunits.wequal, hequal, equal (
bool, default:rc['subplots.equalspace']=False) – Whether to make the tight layout algorithm apply equal spacing between columns, rows, or both.wgroup, hgroup, group (
bool, default:rc['subplots.groupspace']=True) – Whether to make the tight layout algorithm just consider spaces between adjacent subplots instead of entire columns and rows of subplots.outerpad (
unit-spec, default:rc['subplots.outerpad']=0.5) – The scalar tight layout padding around the left, right, top, bottom figure edges. If float, units are em-widths. If string, interpreted byunits.innerpad (
unit-spec, default:rc['subplots.innerpad']=1.0) – The scalar tight layout padding between columns and rows. Synonymous withpad. If float, units are em-widths. If string, interpreted byunits.panelpad (
unit-spec, default:rc['subplots.panelpad']=0.5) – The scalar tight layout padding between subplots and their panels, colorbars, and legends and between “stacks” of these objects. If float, units are em-widths. If string, interpreted byunits.
See also