matplotlib.figure.SubFigure.subplot_mosaic#

SubFigure.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)[源代码]#

基于ASCII艺术或嵌套列表构建Axes布局。

这是一个用于直观构建复杂 GridSpec 布局的辅助函数。

有关示例和完整的API文档,请参阅 复杂且语义化的图形组合 (subplot_mosaic)

参数:
马赛克列表的列表 {可哈希或嵌套} 或字符串

一个视觉布局,展示你希望如何安排你的 Axes,标记为字符串。例如

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

生成 4 个 Axes:

  • '一个面板',高度为一行,跨越前两列

  • 'edge' 是两行高,并且位于右侧边缘

  • 'C 面板' 位于左下角,占据一行一列。

  • 在底部中心有一个1行1列的空白空间

布局中的任何条目都可以是相同形式的列表的列表,以创建嵌套布局。

如果输入是字符串,那么它可以是一个多行字符串,形式如下

'''
AAE
C.E
'''

其中每个字符是一列,每行是一行。或者它可以是单行字符串,其中行由 ; 分隔:

'AB;CC'

字符串表示法只允许单字符的轴标签,不支持嵌套,但非常简洁。

Axes 标识符可以是 str 或不可迭代的可哈希对象(例如 tuple 不能使用)。

sharex, shareybool, 默认值: False

如果为 True,x 轴(sharex)或 y 轴(sharey)将在所有子图中共享。在这种情况下,刻度标签可见性和轴单位的行为与 subplots 相同。如果为 False,每个子图的 x 轴或 y 轴将是独立的。

width_ratios : 长度为 ncols 的类数组对象, 可选长度为的类数组

定义列的相对宽度。每列的相对宽度为 width_ratios[i] / sum(width_ratios)。如果未指定,所有列将具有相同的宽度。等同于 gridspec_kw={'width_ratios': [...]}。在嵌套布局的情况下,此参数仅适用于外部布局。

height_ratios : 长度为 nrows 的类数组对象, 可选长度为的类数组

定义行的相对高度。每行的高度为 height_ratios[i] / sum(height_ratios)。如果未指定,所有行将具有相同的高度。等同于 gridspec_kw={'height_ratios': [...]}。对于嵌套布局,此参数仅适用于外部布局。

subplot_kw字典,可选

传递给 Figure.add_subplot 调用的字典,用于创建每个子图的关键字。这些值可能会被 per_subplot_kw 中的值覆盖。

per_subplot_kw字典,可选

一个字典,将 Axes 标识符或标识符元组映射到一个关键字参数字典,这些参数将被传递给用于创建每个子图的 Figure.add_subplot 调用。这些字典中的值优先于 subplot_kw 中的值。

如果 mosaic 是一个字符串,因此所有键都是单个字符,则可以使用单个字符串而不是元组作为键;即 "AB" 等同于 ("A", "B")

Added in version 3.7.

gridspec_kw字典,可选

传递给 GridSpec 构造函数的带有关键字的字典,用于创建子图放置的网格。对于嵌套布局,此参数仅适用于外部布局。对于更复杂的布局,用户应使用 Figure.subfigures 来创建嵌套。

empty_sentinel对象,可选

布局中的条目,表示“保留此空间为空”。默认为 '.'。注意,如果 layout 是字符串,它将通过 inspect.cleandoc 处理以删除前导空白,这可能会干扰使用空白作为空占位符。

返回:
dict[标签, 轴]

一个将标签映射到 Axes 对象的字典。Axes 的顺序是根据它们在整个布局中的位置从左到右、从上到下排列的。

使用 matplotlib.figure.SubFigure.subplot_mosaic 的示例#

复杂且语义化的图形组合 (subplot_mosaic)

Complex and semantic figure composition (subplot_mosaic)