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)

参数:
mosaic可哈希或嵌套列表的列表,或字符串

一个可视化布局,说明您希望 Axes 如何以字符串形式排列。例如

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

生成 4 个 Axes

  • 'A panel'(A 面板)高 1 行,跨前两列

  • 'edge'(边缘)高 2 行,位于右边缘

  • 'C panel'(C 面板)在左下角高 1 行、宽 1 列

  • 底部中央有一个 1 行 1 列宽的空白区域

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

如果输入是 str,那么它可以是以下形式的多行字符串:

'''
AAE
C.E
'''

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

'AB;CC'

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

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

sharex, sharey布尔值,默认值: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")

版本 3.7 新增。

gridspec_kw字典,可选

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

empty_sentinel对象,可选

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

返回:
dict[label, Axes]

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

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

复杂和语义图形构图(subplot_mosaic)

复杂和语义图形构图(subplot_mosaic)