| [ Web Proxy ] |
| Viewing: https://matplotlib.org/stable/api/_as_gen/../../devel/MEP/../../users/../api/layout_engine_api.html | [Back] [Original] |
matplotlib.layout_engine#Classes to layout elements in a Figure.
Figures have a layout_engine property that holds a subclass of
LayoutEngine defined here (or None for no layout). At draw time
figure.get_layout_engine().execute() is called, the goal of which is
usually to rearrange Axes on the figure to produce a pleasing layout. This is
like a draw callback but with two differences. First, when printing we
disable the layout engine for the final draw. Second, it is useful to know the
layout engine while the figure is being created. In particular, colorbars are
made differently with different layout engines (for historical reasons).
Matplotlib has two built-in layout engines:
TightLayoutEngine was the first layout engine added to Matplotlib.
See also Tight layout guide.
ConstrainedLayoutEngine is more modern and generally gives better results.
See also Constrained layout guide.
Third parties can create their own layout engine by subclassing LayoutEngine.
Implements the constrained_layout geometry management. See
Constrained layout guide for details.
Initialize constrained_layout settings.
Padding around the Axes elements in inches.
Default to rcParams["figure.constrained_layout.h_pad"] (default: 0.04167) and
rcParams["figure.constrained_layout.w_pad"] (default: 0.04167).
Fraction of the figure to dedicate to space between the
axes. These are evenly spread between the gaps between the Axes.
A value of 0.2 for a three-column layout would have a space
of 0.1 of the figure width between each column.
If h/wspace < h/w_pad, then the pads are used instead.
Default to rcParams["figure.constrained_layout.hspace"] (default: 0.02) and
rcParams["figure.constrained_layout.wspace"] (default: 0.02).
Rectangle in figure coordinates to perform constrained layout in (left, bottom, width, height), each from 0-1.
Whether to shift Axes so that white space in between them is removed. This is useful for simple grids of fixed-aspect Axes (e.g. a grid of images). See Grids of fixed aspect-ratio Axes: "compressed" layout.
Return a boolean if the layout engine is compatible with
subplots_adjust.
Return a boolean if the layout engine creates colorbars using a gridspec.
Perform constrained_layout and move and resize Axes accordingly.
Figure to perform layout on.Set the pads for constrained_layout.
Padding around the Axes elements in inches.
Default to rcParams["figure.constrained_layout.h_pad"] (default: 0.04167) and
rcParams["figure.constrained_layout.w_pad"] (default: 0.04167).
Fraction of the figure to dedicate to space between the
axes. These are evenly spread between the gaps between the Axes.
A value of 0.2 for a three-column layout would have a space
of 0.1 of the figure width between each column.
If h/wspace < h/w_pad, then the pads are used instead.
Default to rcParams["figure.constrained_layout.hspace"] (default: 0.02) and
rcParams["figure.constrained_layout.wspace"] (default: 0.02).
Rectangle in figure coordinates to perform constrained layout in (left, bottom, width, height), each from 0-1.
Base class for Matplotlib layout engines.
A layout engine can be passed to a figure at instantiation or at any time
with set_layout_engine. Once attached to a figure, the
layout engine execute function is called at draw time by
draw, providing a special draw-time hook.
Note
However, note that layout engines affect the creation of colorbars, so
set_layout_engine should be called before any
colorbars are created.
Currently, there are two properties of LayoutEngine classes that are
consulted while manipulating the figure:
engine.colorbar_gridspec tells Figure.colorbar whether to make theaxes using the gridspec method (see colorbar.make_axes_gridspec) or
not (see colorbar.make_axes);
engine.adjust_compatible stops Figure.subplots_adjust from beingrun if it is not compatible with the layout engine.
To implement a custom LayoutEngine:
override _adjust_compatible and _colorbar_gridspec
override LayoutEngine.set to update self._params
override LayoutEngine.execute with your implementation
Return a boolean if the layout engine is compatible with
subplots_adjust.
Return a boolean if the layout engine creates colorbars using a gridspec.
This layout engine does not adjust the figure layout at all.
The purpose of this LayoutEngine is to act as a placeholder when the user removes
a layout engine to ensure an incompatible LayoutEngine cannot be set later.
Allow the PlaceHolderLayoutEngine to mirror the behavior of whatever layout engine it is replacing.
Return a boolean if the layout engine is compatible with
subplots_adjust.
Return a boolean if the layout engine creates colorbars using a gridspec.
Implements the tight_layout geometry management. See
Tight layout guide for details.
Initialize tight_layout engine.
Padding between the figure edge and the edges of subplots, as a fraction of the font size.
Padding (height/width) between edges of adjacent subplots. Defaults to pad.
rectangle in normalized figure coordinates that the subplots (including labels) will fit into.
Return a boolean if the layout engine is compatible with
subplots_adjust.
Return a boolean if the layout engine creates colorbars using a gridspec.
Execute tight_layout.
This decides the subplot parameters given the padding that will allow the Axes labels to not be covered by other labels and Axes.
Figure to perform layout on.Set the pads for tight_layout.
Padding between the figure edge and the edges of subplots, as a fraction of the font size.
Padding (width/height) between edges of adjacent subplots. Defaults to pad.
rectangle in normalized figure coordinates that the subplots (including labels) will fit into.
| Web Proxy Viewer | New URL | Original Page |