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 标签,不支持嵌套,但非常简洁。
- 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 的顺序是它们在总布局中从左到右、从上到下的位置。