matplotlib.figure.Figure.subplot_mosaic#

Figure.subplot_mosaic(mosaic,*,sharex=False,sharey=False,width_ratios=None,height_ratios=None,empty_sentinel='.',subplot_kw=None,per_subplot_kw=None,gridspec_kw=None)[source]#

Build a layout of Axes based on ASCII art or nested lists.

This is a helper function to build complex GridSpec layouts visually.

SeeComplex and semantic figure composition (subplot_mosaic)for an example and full API documentation

Parameters:
mosaiclist of list of {hashable or nested} or str

A visual layout of how you want your Axes to be arrangedlabeled as strings. For example

x=[['A panel','A panel','edge'],['C panel','.','edge']]

produces 4 Axes:

  • 'A panel' which is 1 row high and spans the first two columns

  • 'edge' which is 2 rows high and is on the right edge

  • 'C panel' which in 1 row and 1 column wide in the bottom left

  • a blank space 1 row and 1 column wide in the bottom center

Any of the entries in the layout can be a list of listsof the same form to create nested layouts.

If input is a str, then it can either be a multi-line string ofthe form

'''AAEC.E'''

where each character is a column and each line is a row. Or itcan be a single-line string where rows are separated by;:

'AB;CC'

The string notation allows only single character Axes labels anddoes not support nesting but is very terse.

The Axes identifiers may bestr or a non-iterable hashableobject (e.g.tuple s may not be used).

sharex, shareybool, default: False

If True, the x-axis (sharex) or y-axis (sharey) will be sharedamong all subplots. In that case, tick label visibility and axisunits behave as forsubplots. If False, each subplot's x- ory-axis will be independent.

width_ratiosarray-like of lengthncols, optional

Defines the relative widths of the columns. Each column gets arelative width ofwidth_ratios[i]/sum(width_ratios).If not given, all columns will have the same width. Equivalenttogridspec_kw={'width_ratios':[...]}. In the case of nestedlayouts, this argument applies only to the outer layout.

height_ratiosarray-like of lengthnrows, optional

Defines the relative heights of the rows. Each row gets arelative height ofheight_ratios[i]/sum(height_ratios).If not given, all rows will have the same height. Equivalenttogridspec_kw={'height_ratios':[...]}. In the case of nestedlayouts, this argument applies only to the outer layout.

subplot_kwdict, optional

Dictionary with keywords passed to theFigure.add_subplot callused to create each subplot. These values may be overridden byvalues inper_subplot_kw.

per_subplot_kwdict, optional

A dictionary mapping the Axes identifiers or tuples of identifiersto a dictionary of keyword arguments to be passed to theFigure.add_subplot call used to create each subplot. The valuesin these dictionaries have precedence over the values insubplot_kw.

Ifmosaic is a string, and thus all keys are single characters,it is possible to use a single string instead of a tuple as keys;i.e."AB" is equivalent to("A","B").

Added in version 3.7.

gridspec_kwdict, optional

Dictionary with keywords passed to theGridSpec constructor usedto create the grid the subplots are placed on. In the case ofnested layouts, this argument applies only to the outer layout.For more complex layouts, users should useFigure.subfiguresto create the nesting.

empty_sentinelobject, optional

Entry in the layout to mean "leave this space empty". Defaultsto'.'. Note, iflayout is a string, it is processed viainspect.cleandoc to remove leading white space, which mayinterfere with using white-space as the empty sentinel.

Returns:
dict[label, Axes]

A dictionary mapping the labels to the Axes objects. The order ofthe Axes is left-to-right and top-to-bottom of their position in thetotal layout.

Examples usingmatplotlib.figure.Figure.subplot_mosaic#

Scatter plot with histograms

Scatter plot with histograms

Spectrum representations

Spectrum representations

Hatch demo

Hatch demo

Arrow Demo

Arrow Demo

Labelling subplots

Labelling subplots

Complex and semantic figure composition (subplot_mosaic)

Complex and semantic figure composition (subplot_mosaic)