matplotlib.pyplot.subplot_mosaic#
- matplotlib.pyplot.subplot_mosaic(mosaic, *, sharex=False, sharey=False, width_ratios=None, height_ratios=None, empty_sentinel='.', subplot_kw=None, gridspec_kw=None, per_subplot_kw=None, **fig_kw)[source]#
根据 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 列宽的空白区域
布局中的任何条目都可以是相同形式的列表的列表,以创建嵌套布局。
如果输入是字符串,则必须是以下形式
''' AAE C.E '''
其中每个字符代表一列,每行代表一行。这只允许使用单个字符作为 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': [...]}
的便捷方式。- empty_sentinel对象,可选
布局中表示“留空”的条目。默认为
'.'
。请注意,如果 layout 是字符串,它将通过inspect.cleandoc
进行处理,以移除前导空格,这可能会干扰使用空格作为空哨兵。- 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
构造函数(用于创建子图所在的网格)的关键字的字典。- **fig_kw
所有额外的关键字参数都传递给
pyplot.figure
调用。
- 返回:
- fig
Figure
新图形
- dict[label, Axes]
一个将标签映射到 Axes 对象的字典。Axes 的顺序是它们在总布局中从左到右、从上到下的位置。
- fig