class GridSpec(figure, nrows=1, ncols=1, **kwargs)[source]

Bases: matplotlib.gridspec.GridSpec

GridSpec generalization that allows for grids with variable spacing between successive rows and columns of axes.

Accomplishes this by actually drawing nrows*2 + 1 and ncols*2 + 1 GridSpec rows and columns, setting wspace and hspace to 0, and masking out every other row and column of the GridSpec, so they act as “spaces”. These “spaces” are then allowed to vary in width using the builtin width_ratios and height_ratios properties.

  • figure (Figure) – The figure instance filled by this gridspec. Unlike GridSpec, this argument is required.

  • nrows, ncols (int, optional) – The number of rows and columns on the subplot grid.

  • hspace, wspace (float or list of float) – The vertical and horizontal spacing between rows and columns of subplots, respectively. In subplots, wspace and hspace are in physical units. When calling GridSpec directly, values are scaled relative to the average subplot height or width.

    If float, the spacing is identical between all rows and columns. If list of float, the length of the lists must equal nrows-1 and ncols-1, respectively.

  • height_ratios, width_ratios (list of float) – Ratios for the relative heights and widths for rows and columns of subplots, respectively. For example, width_ratios=(1,2) scales a 2-column gridspec so that the second column is twice as wide as the first column.

  • left, right, top, bottom (float or str) – Passed to GridSpec, denotes the margin positions in figure-relative coordinates.

  • **kwargs – Passed to GridSpec.

Methods Summary


Magic obfuscation that renders GridSpec rows and columns designated as ‘spaces’ inaccessible.


Returns the number of active rows and columns, i.e.


Returns height ratios excluding slots allocated for spaces.


Returns width ratios excluding slots allocated for spaces.


Returns row ratios allocated for spaces.


Returns left, bottom, right, top values.


Returns column ratios allocated for spaces.


Updates the width ratios, height ratios, gridspec margins, and spacing allocated between subplot rows and columns.