matplotlib.layout_engine#

用于在 中布局元素的类Figure

图形有一个layout_engine属性,该属性包含在 LayoutEngine此处定义的子类(或None表示没有布局)。在绘制时 figure.get_layout_engine().execute()调用,其目标通常是重新排列图形上的轴以产生令人愉悦的布局。这就像一个draw回调,但是在打印时我们禁用了最终绘制的布局引擎,并且在创建图形时了解布局引擎很有用,特别是在处理颜色条时。

Matplotlib 提供了两个布局引擎,TightLayoutEngineConstrainedLayoutEngine. 第三方可以通过子类化创建自己的布局引擎LayoutEngine

matplotlib.layout_engine。ConstrainedLayoutEngine ( * , h_pad = None , w_pad = None , hspace = None , wspace = None , rect = (0, 0, 1, 1) , compress = False , ** kwargs ) [来源] #

实现constrained_layout几何管理。有关详细信息,请参阅 约束布局指南

初始化constrained_layout设置。

参数
h_pad, w_pad浮动

以图形标准化单位围绕轴元素填充。默认为rcParams["figure.constrained_layout.h_pad"](默认值:)0.04167rcParams["figure.constrained_layout.w_pad"](默认值:)0.04167

hspace, wspace浮点数

专用于轴之间空间的图形分数。这些均匀分布在轴之间的间隙之间。三列布局的值 0.2 将在每列之间具有 0.1 的图形宽度空间。如果 h/wspace < h/w_pad,则使用焊盘代替。默认为rcParams["figure.constrained_layout.hspace"](默认值:)0.02rcParams["figure.constrained_layout.wspace"](默认值:)0.02

4个浮点数的矩形元组

图形坐标中的矩形,用于在(左、下、宽、高)中执行约束布局,每个从 0 到 1。

压缩布尔

是否移动 Axes 以便删除它们之间的空白。这对于简单的固定纵横轴网格(例如图像网格)很有用。请参阅固定纵横比轴的网格:“压缩”布局

属性 调整兼容#

如果布局引擎与 兼容,则返回布尔值 subplots_adjust

属性 colorbar_gridspec #

如果布局引擎使用 gridspec 创建颜色条,则返回布尔值。

执行( fig ) [来源] #

执行 constrained_layout 并相应地移动和调整轴的大小。

参数
figFigure执行布局。
得到( ) [来源] #

返回布局引擎的参数副本。

set ( * , h_pad = None , w_pad = None , hspace = None , wspace = None , rect = None ) [来源] #

为 constrained_layout 设置焊盘。

参数
h_pad, w_pad浮动

以图形标准化单位围绕轴元素填充。默认为rcParams["figure.constrained_layout.h_pad"](默认值:)0.04167rcParams["figure.constrained_layout.w_pad"](默认值:)0.04167

hspace, wspace浮点数

专用于轴之间空间的图形分数。这些均匀分布在轴之间的间隙之间。三列布局的值 0.2 将在每列之间具有 0.1 的图形宽度空间。如果 h/wspace < h/w_pad,则使用焊盘代替。默认为rcParams["figure.constrained_layout.hspace"](默认值:)0.02rcParams["figure.constrained_layout.wspace"](默认值:)0.02

4个浮点数的矩形元组

图形坐标中的矩形,用于在(左、下、宽、高)中执行约束布局,每个从 0 到 1。

matplotlib.layout_engine。LayoutEngine ( ** kwargs ) [来源] #

Matplotlib 布局引擎的基类。

布局引擎可以在实例化时或随时使用set_layout_engine. 一旦附加到图形上,布局引擎execute函数就会在绘制时由 调用 draw,提供一个特殊的绘制时钩子。

笔记

但是,请注意布局引擎会影响颜色条的创建,因此 set_layout_engine应在创建任何颜色条之前调用。

目前,LayoutEngine在操作图形时会参考类的两个属性:

要实现自定义LayoutEngine

  1. 覆盖_adjust_compatible_colorbar_gridspec

  2. 覆盖LayoutEngine.set以更新self._params

  3. LayoutEngine.execute用你的实现覆盖

属性 调整兼容#

如果布局引擎与 兼容,则返回布尔值 subplots_adjust

属性 colorbar_gridspec #

如果布局引擎使用 gridspec 创建颜色条,则返回布尔值。

执行( fig ) [来源] #

在fig给出的图上执行布局。

得到( ) [来源] #

返回布局引擎的参数副本。

设置( ** kwargs ) [来源] #
matplotlib.layout_engine。PlaceHolderLayoutEngine ( adjust_compatible , colorbar_gridspec , ** kwargs ) [source] #

这个布局引擎根本不调整图形布局。

这样做的目的LayoutEngine是在用户删除布局引擎时充当占位符,以确保LayoutEngine以后无法设置不兼容。

参数
adjust_compatible, colorbar_gridspec bool

允许 PlaceHolderLayoutEngine 反映它正在替换的任何布局引擎的行为。

属性 调整兼容#

如果布局引擎与 兼容,则返回布尔值 subplots_adjust

属性 colorbar_gridspec #

如果布局引擎使用 gridspec 创建颜色条,则返回布尔值。

执行( fig ) [来源] #

在fig给出的图上执行布局。

得到( ) [来源] #

返回布局引擎的参数副本。

设置( ** kwargs ) [来源] #
matplotlib.layout_engine。TightLayoutEngine ( * , pad = 1.08 , h_pad = None , w_pad = None , rect = (0, 0, 1, 1) , ** kwargs ) [source] #

实现tight_layout几何管理。有关详细信息,请参阅 紧密布局指南

初始化tight_layout 引擎。

参数
浮动,1.08

图形边缘和子图边缘之间的填充,作为字体大小的一部分。

h_pad, w_pad浮动

相邻子图边缘之间的填充(高度/宽度)。默认为pad

矩形元组(左、下、右、上),默认值:(0, 0, 1, 1)。

子图(包括标签)将适合的标准化图形坐标中的矩形。

属性 调整兼容#

如果布局引擎与 兼容,则返回布尔值 subplots_adjust

属性 colorbar_gridspec #

如果布局引擎使用 gridspec 创建颜色条,则返回布尔值。

执行( fig ) [来源] #

执行紧密布局。

这决定了给定填充的子图参数,该填充将允许轴标签不被其他标签和轴覆盖。

参数
figFigure执行布局。
另请参阅:`.figure.Figure.tight_layout` 和 `.pyplot.tight_layout`。
得到( ) [来源] #

返回布局引擎的参数副本。

设置( * , pad = None , w_pad = None , h_pad = None , rect = None ) [来源] #