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)