matplotlib.pyplot.subplots#

matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, subplot_kw=None, gridspec_kw=None, **fig_kw)[源代码]#

创建一个图和一组子图。

这个实用程序包装器方便地通过一次调用创建子图的常见布局,包括包含的图对象。

参数:
nrows, ncols整型, 默认值: 1

子图网格的行/列数量。

sharex, sharey布尔型或 {'none', 'all', 'row', 'col'}, 默认值: False

控制 x 轴 (sharex) 或 y 轴 (sharey) 属性的共享

  • True 或 'all':x 轴或 y 轴将在所有子图之间共享。

  • False 或 'none':每个子图的 x 轴或 y 轴将是独立的。

  • 'row':每个子图行将共享一个 x 轴或 y 轴。

  • 'col':每个子图列将共享一个 x 轴或 y 轴。

当子图沿列共享 x 轴时,仅创建底部子图的 x 刻度标签。类似地,当子图沿行共享 y 轴时,仅创建第一列子图的 y 刻度标签。要稍后开启其他子图的刻度标签,请使用 tick_params

当子图具有带单位的共享轴时,调用 Axis.set_units 将使用新单位更新每个轴。

请注意,无法取消共享轴。

squeeze布尔型, 默认值: True
  • 如果为 True,则从返回的 Axes 数组中压缩掉额外的维度

    • 如果只构造一个子图 (nrows=ncols=1),则结果单个 Axes 对象将作为标量返回。

    • 对于 Nx1 或 1xM 子图,返回的对象是 Axes 对象的 1D numpy 对象数组。

    • 对于 NxM,N>1 且 M>1 的子图将作为 2D 数组返回。

  • 如果为 False,则不进行任何压缩:返回的 Axes 对象始终是一个包含 Axes 实例的 2D 数组,即使它最终是 1x1。

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字典, 可选

包含传递给用于创建每个子图的 add_subplot 调用的关键字的字典。

gridspec_kw字典, 可选

包含传递给用于创建子图所在网格的 GridSpec 构造函数的关键字的字典。

**fig_kw

所有额外的关键字参数都传递给 pyplot.figure 调用。

返回:
figFigure
axAxes 或 Axes 数组

ax 可以是单个 Axes 对象,也可以是 Axes 对象的数组(如果创建了多个子图)。结果数组的维度可以通过 squeeze 关键字控制,详见上文。

处理返回值时的典型用法是

# using the variable ax for single a Axes
fig, ax = plt.subplots()

# using the variable axs for multiple Axes
fig, axs = plt.subplots(2, 2)

# using tuple unpacking for multiple Axes
fig, (ax1, ax2) = plt.subplots(1, 2)
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)

名称 ax 和复数形式的 axsaxes 更受推荐,因为对于后者,不清楚它指的是单个 Axes 实例还是一组这样的实例。

示例

# First create some toy data:
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)

# Create just a figure and only one subplot
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')

# Create two subplots and unpack the output array immediately
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)

# Create four polar Axes and access them through the returned array
fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar"))
axs[0, 0].plot(x, y)
axs[1, 1].scatter(x, y)

# Share a X axis with each column of subplots
plt.subplots(2, 2, sharex='col')

# Share a Y axis with each row of subplots
plt.subplots(2, 2, sharey='row')

# Share both X and Y axes with all subplots
plt.subplots(2, 2, sharex='all', sharey='all')

# Note that this is the same as
plt.subplots(2, 2, sharex=True, sharey=True)

# Create figure number 10 with a single subplot
# and clears it if it already exists.
fig, ax = plt.subplots(num=10, clear=True)

使用 matplotlib.pyplot.subplots 的示例#

衰减

衰减

动画直方图

动画直方图

pyplot 动画

pyplot 动画

贝叶斯更新

贝叶斯更新

使用预计算图像列表的动画图像

使用预计算图像列表的动画图像

多坐标轴动画

多坐标轴动画

暂停和恢复动画

暂停和恢复动画

动画折线图

动画折线图

保存为 GIF 的动画散点图

保存为 GIF 的动画散点图

示波器

示波器

定位方向箭头

定位方向箭头

HBoxDivider 和 VBoxDivider 演示

HBoxDivider 和 VBoxDivider 演示

使用 RGBAxes 显示 RGB 通道

使用 RGBAxes 显示 RGB 通道

带 AxesDivider 的颜色条

带 AxesDivider 的颜色条

使用插入坐标轴控制颜色条的位置和大小

使用插入坐标轴控制颜色条的位置和大小

插入定位器演示

插入定位器演示

插入定位器演示 2

插入定位器演示 2

使用可定位坐标轴将直方图对齐散点图

使用可定位坐标轴将直方图对齐散点图

简单锚定艺术家

简单锚定艺术家

按 Y 值着色

按 Y 值着色

默认属性周期中的颜色

默认属性周期中的颜色

颜色演示

颜色演示

命名颜色序列

命名颜色序列

颜色条

颜色条

色彩映射参考

色彩映射参考

从颜色列表创建色彩映射

从颜色列表创建色彩映射

从色彩映射中选择单个颜色

从色彩映射中选择单个颜色

命名颜色列表

命名颜色列表

设置颜色 Alpha 值的多种方式

设置颜色 Alpha 值的多种方式

鼠标移动和点击事件

鼠标移动和点击事件

十字光标

十字光标

数据浏览器

数据浏览器

图形/坐标轴进入和离开事件

图形/坐标轴进入和离开事件

滚动事件

滚动事件

按键事件

按键事件

图例选择

图例选择

放大镜

放大镜

路径编辑器

路径编辑器

选择事件演示

选择事件演示

选择事件演示 2

选择事件演示 2

多边形编辑器

多边形编辑器

乒乓球

乒乓球

数据重采样

数据重采样

计时器

计时器

Trifinder 事件演示

Trifinder 事件演示

视图限制

视图限制

缩放修改其他坐标轴

缩放修改其他坐标轴

图像的仿射变换

图像的仿射变换

风羽

风羽

色彩映射范围的交互式调整

色彩映射范围的交互式调整

色彩映射归一化

色彩映射归一化

色彩映射归一化 SymLogNorm

色彩映射归一化 SymLogNorm

等高线角掩码

等高线角掩码

等高线演示

等高线演示

等高线图像

等高线图像

等高线标签演示

等高线标签演示

填充等高线演示

填充等高线演示

填充等高线图案

填充等高线图案

填充等高线和对数颜色刻度

填充等高线和对数颜色刻度

优化解空间的等高线图

优化解空间的等高线图

BboxImage 演示

BboxImage 演示

带注释的热力图

带注释的热力图

图像重采样

图像重采样

用补丁裁剪图像

用补丁裁剪图像

绘制图像的多种方式

绘制图像的多种方式

带掩码值的图像

带掩码值的图像

非均匀图像

非均匀图像

在二维图像中将透明度与颜色混合

在二维图像中将透明度与颜色混合

修改坐标格式化程序

修改坐标格式化程序

imshow 的插值

imshow 的插值

不规则间隔数据的等高线图

不规则间隔数据的等高线图

多个图像带一个颜色条

多个图像带一个颜色条

pcolor 图像

pcolor 图像

pcolormesh 网格和着色

pcolormesh 网格和着色

pcolormesh

pcolormesh

流线图

流线图

QuadMesh 演示

QuadMesh 演示

高级颤动图和颤动图键函数

高级颤动图和颤动图键函数

简单颤动图演示

简单颤动图演示

着色示例

着色示例

频谱图

频谱图

Spy 演示

Spy 演示

三角等高线演示

三角等高线演示

三角平滑 Delaunay 等高线

三角平滑 Delaunay 等高线

三角平滑用户等高线

三角平滑用户等高线

三角梯度演示

三角梯度演示

三角插值演示

三角插值演示

三角颜色图演示

三角颜色图演示

三角图演示

三角图演示

水印图像

水印图像

无限线条

无限线条

具有独立条形颜色的条形图

具有独立条形颜色的条形图

带标签的条形图

带标签的条形图

堆叠条形图

堆叠条形图

带标签的组合条形图

带标签的组合条形图

水平条形图

水平条形图

断裂水平条

断裂水平条

绘制分类变量

绘制分类变量

绘制两个信号的相干性

绘制两个信号的相干性

互谱密度 (CSD)

互谱密度 (CSD)

带误差带的曲线

带误差带的曲线

误差条子采样

误差条子采样

Eventplot 演示

Eventplot 演示

填充多边形

填充多边形

带透明度的 fill_between

带透明度的 fill_between

填充两条线之间的区域

填充两条线之间的区域

填充两条垂直线之间的区域

填充两条垂直线之间的区域

带渐变的条形图

带渐变的条形图

锥形图

锥形图

离散分布作为水平条形图

离散分布作为水平条形图

虚线样式配置

虚线样式配置

带有刻度路径效果的线条

带有刻度路径效果的线条

线条样式

线条样式

标记参考

标记参考

Markevery 演示

Markevery 演示

多色线条

多色线条

将标记属性映射到多变量数据

将标记属性映射到多变量数据

功率谱密度 (PSD)

功率谱密度 (PSD)

散点图演示2

散点图演示2

标记示例

标记示例

带图例的散点图

带图例的散点图

折线图

折线图

使用 fill_between 填充由逻辑掩码定义的区域

使用 fill_between 填充由逻辑掩码定义的区域

堆叠图和流图

堆叠图和流图

阶梯图演示

阶梯图演示

带线条、日期和文本的时间线

带线条、日期和文本的时间线

hlines 和 vlines

hlines 和 vlines

互相关和自相关

互相关和自相关

锚定艺术家

锚定艺术家

识别艺术家是否相交

识别艺术家是否相交

手动等高线

手动等高线

坐标报告

坐标报告

自定义投影

自定义投影

AGG 过滤器

AGG 过滤器

彩带框

彩带框

直接向图形添加线条

直接向图形添加线条

Findobj 演示

Findobj 演示

使用矩形和多边形集合构建直方图

使用矩形和多边形集合构建直方图

使用关键字绘图

使用关键字绘图

多进程

多进程

簇状气泡图

簇状气泡图

路径效果演示

路径效果演示

矢量图形的光栅化

矢量图形的光栅化

TickedStroke 路径效果

TickedStroke 路径效果

Zorder 演示

Zorder 演示

将数据裁剪到坐标轴视图限制

将数据裁剪到坐标轴视图限制

三维曲面图中的自定义山体阴影

三维曲面图中的自定义山体阴影

三维图投影类型

三维图投影类型

三维茎叶图

三维茎叶图

三维曲面(色彩映射)

三维曲面(色彩映射)

单方向三维线框图

单方向三维线框图

饼中条形图

饼中条形图

嵌套饼图

嵌套饼图

带标签的饼图和甜甜圈图

带标签的饼图和甜甜圈图

饼图

饼图

极坐标图

极坐标图

对数对数纵横比

对数对数纵横比

对数刻度

对数刻度

Logit 刻度

Logit 刻度

探索归一化

探索归一化

刻度概览

刻度概览

Symlog 刻度

Symlog 刻度

箭头指南

箭头指南

自动缩放的线、多边形和正多边形集合

自动缩放的线、多边形和正多边形集合

复合路径

复合路径

海豚

海豚

嗯…甜甜圈!!!

嗯…甜甜圈!!!

带方向箭头的椭圆演示

带方向箭头的椭圆演示

椭圆集合

椭圆集合

椭圆演示

椭圆演示

绘制花式框

绘制花式框

孵化图案样式参考

孵化图案样式参考

使用 LineCollection 绘制多条线

使用 LineCollection 绘制多条线

圆、扇形和多边形

圆、扇形和多边形

PathPatch 对象

PathPatch 对象

贝塞尔曲线

贝塞尔曲线

曲线下面积的积分

曲线下面积的积分

32 年来的股票价格

32 年来的股票价格

山体阴影

山体阴影

安斯库姆四重奏

安斯库姆四重奏

石川图

石川图

雷达图(又称蜘蛛图或星图)

雷达图(又称蜘蛛图或星图)

地形山体阴影

地形山体阴影

带箭头的居中坐标轴脊线

带箭头的居中坐标轴脊线

带有坐标轴脊线的多个 Y 轴

带有坐标轴脊线的多个 Y 轴

坐标轴脊线

坐标轴脊线

掉落的坐标轴脊线

掉落的坐标轴脊线

箱线图中艺术家的自定义

箱线图中艺术家的自定义

具有自定义填充颜色的箱线图

具有自定义填充颜色的箱线图

箱线图

箱线图

箱线图与小提琴图比较

箱线图与小提琴图比较

箱线图的单独计算和绘制

箱线图的单独计算和绘制

绘制二维数据集的置信椭圆

绘制二维数据集的置信椭圆

小提琴图自定义

小提琴图自定义

误差条函数

误差条函数

指定误差条的不同方式

指定误差条的不同方式

在误差条中包含上限和下限

在误差条中包含上限和下限

使用 PatchCollection 从误差条创建框

使用 PatchCollection 从误差条创建框

六边形分箱图

六边形分箱图

直方图

直方图

双直方图

双直方图

直方图函数不同 histtype 设置的演示

直方图函数不同 histtype 设置的演示

具有多个数据集的直方图 (hist) 函数

具有多个数据集的直方图 (hist) 函数

直方图箱、密度和权重

直方图箱、密度和权重

多个直方图并排

多个直方图并排

时间序列直方图

时间序列直方图

小提琴图基础

小提琴图基础

《黑客的贝叶斯方法》样式表

《黑客的贝叶斯方法》样式表

深色背景样式表

深色背景样式表

FiveThirtyEight 样式表

FiveThirtyEight 样式表

ggplot 样式表

ggplot 样式表

灰度样式表

灰度样式表

Petroff10 样式表

Petroff10 样式表

样式表参考

样式表参考

对齐标签和标题

对齐标签和标题

以编程方式控制子图调整

以编程方式控制子图调整

坐标轴框纵横比

坐标轴框纵横比

坐标轴演示

坐标轴演示

使用边距和粘性边缘控制视图限制

使用边距和粘性边缘控制视图限制

坐标轴属性

坐标轴属性

绘制跨越坐标轴的区域

绘制跨越坐标轴的区域

相等坐标轴纵横比

相等坐标轴纵横比

坐标轴标签位置

坐标轴标签位置

断裂坐标轴

断裂坐标轴

使用受限布局调整坐标轴大小

使用受限布局调整坐标轴大小

使用紧密布局调整坐标轴大小

使用紧密布局调整坐标轴大小

同一坐标轴上的不同刻度

同一坐标轴上的不同刻度

不同单位的图形大小

不同单位的图形大小

图形标签:suptitle, supxlabel, supylabel

图形标签:suptitle, supxlabel, supylabel

相邻子图

相邻子图

使用 subplots 和 GridSpec 组合两个子图

使用 subplots 和 GridSpec 组合两个子图

反向坐标轴

反向坐标轴

次坐标轴

次坐标轴

图形子图形

图形子图形

多个子图

多个子图

使用 plt.subplots 创建多个子图

使用 plt.subplots 创建多个子图

带有不同刻度的图

带有不同刻度的图

缩放区域插入坐标轴

缩放区域插入坐标轴

带重音的文本

带重音的文本

对齐 Y 轴标签

对齐 Y 轴标签

比例不变角度标签

比例不变角度标签

括号箭头上的角度注释

括号箭头上的角度注释

注释变换

注释变换

注释图

注释图

注释图表

注释图表

组合自定义图例

组合自定义图例

日期刻度标签

日期刻度标签

AnnotationBbox 演示

AnnotationBbox 演示

将文本用作路径

将文本用作路径

使用工程记数法格式化刻度

使用工程记数法格式化刻度

注释箭头样式参考

注释箭头样式参考

图例演示

图例演示

配置字体系列

配置字体系列

使用 ttf 字体文件

使用 ttf 字体文件

字体表

字体表

使用预定义标签的图例

使用预定义标签的图例

图例演示

图例演示

艺术家内部的艺术家

艺术家内部的艺术家

数学文本

数学文本

数学字体系列

数学字体系列

多行

多行

放置文本框

放置文本框

使用 TeX 渲染数学方程

使用 TeX 渲染数学方程

文本对齐

文本对齐

数据坐标中的文本旋转角度

数据坐标中的文本旋转角度

标题定位

标题定位

文本水印

文本水印

自动设置刻度位置

自动设置刻度位置

刻度之间居中标签

刻度之间居中标签

颜色条刻度标签

颜色条刻度标签

自定义刻度器

自定义刻度器

使用 ConciseDateFormatter 格式化日期刻度

使用 ConciseDateFormatter 格式化日期刻度

日期演示转换

日期演示转换

使用重复规则放置日期刻度

使用重复规则放置日期刻度

日期刻度定位器和格式化程序

日期刻度定位器和格式化程序

时间序列的自定义刻度格式化程序

时间序列的自定义刻度格式化程序

日期精度和纪元

日期精度和纪元

美元刻度

美元刻度

SI 前缀偏移量和自然数量级顺序

SI 前缀偏移量和自然数量级顺序

主次刻度

主次刻度

多级(嵌套)刻度

多级(嵌套)刻度

默认刻度格式化程序

默认刻度格式化程序

刻度定位器

刻度定位器

在右侧设置默认 Y 轴刻度标签

在右侧设置默认 Y 轴刻度标签

从值列表设置刻度标签

从值列表设置刻度标签

将 X 轴刻度标签移到顶部

将 X 轴刻度标签移到顶部

旋转刻度标签

旋转刻度标签

修复过多刻度

修复过多刻度

带单位的注释

带单位的注释

艺术家测试

艺术家测试

带单位的条形图演示

带单位的条形图演示

带单位的组合条形图

带单位的组合条形图

埃文斯测试

埃文斯测试

弧度刻度

弧度刻度

英寸和厘米

英寸和厘米

单位处理

单位处理

带 GTK3 的 pyplot

带 GTK3 的 pyplot

带 GTK4 的 pyplot

带 GTK4 的 pyplot

SVG 工具提示

SVG 工具提示

简单图例02

简单图例02

带注释光标

带注释光标

按钮

按钮

复选按钮

复选按钮

光标

光标

套索选择器

套索选择器

鼠标光标

鼠标光标

多光标

多光标

使用多边形选择器从集合中选择索引

使用多边形选择器从集合中选择索引

多边形选择器

多边形选择器

使用 RangeSlider 进行图像缩放

使用 RangeSlider 进行图像缩放

滑块

滑块

将滑块捕捉到离散值

将滑块捕捉到离散值

跨度选择器

跨度选择器

文本框

文本框

bar3d(x, y, z, dx, dy, dz)

bar3d(x, y, z, dx, dy, dz)

fill_between(x1, y1, z1, x2, y2, z2)

fill_between(x1, y1, z1, x2, y2, z2)

plot(xs, ys, zs)

plot(xs, ys, zs)

quiver(X, Y, Z, U, V, W)

quiver(X, Y, Z, U, V, W)

scatter(xs, ys, zs)

scatter(xs, ys, zs)

stem(x, y, z)

stem(x, y, z)

plot_surface(X, Y, Z)

plot_surface(X, Y, Z)

plot_trisurf(x, y, z)

plot_trisurf(x, y, z)

voxels([x, y, z], filled)

voxels([x, y, z], filled)

plot_wireframe(X, Y, Z)

plot_wireframe(X, Y, Z)

barbs(X, Y, U, V)

barbs(X, Y, U, V)

contour(X, Y, Z)

contour(X, Y, Z)

contourf(X, Y, Z)

contourf(X, Y, Z)

imshow(Z)

imshow(Z)

pcolormesh(X, Y, Z)

pcolormesh(X, Y, Z)

quiver(X, Y, U, V)

quiver(X, Y, U, V)

streamplot(X, Y, U, V)

streamplot(X, Y, U, V)

bar(x, height)

bar(x, height)

fill_between(x, y1, y2)

fill_between(x, y1, y2)

plot(x, y)

plot(x, y)

scatter(x, y)

scatter(x, y)

stackplot(x, y)

stackplot(x, y)

stairs(values)

stairs(values)

stem(x, y)

stem(x, y)

boxplot(X)

boxplot(X)

ecdf(x)

ecdf(x)

errorbar(x, y, yerr, xerr)

errorbar(x, y, yerr, xerr)

eventplot(D)

eventplot(D)

hexbin(x, y, C)

hexbin(x, y, C)

hist2d(x, y)

hist2d(x, y)

hist(x)

hist(x)

pie(x)

pie(x)

violinplot(D)

violinplot(D)

tricontour(x, y, z)

tricontour(x, y, z)

tricontourf(x, y, z)

tricontourf(x, y, z)

tripcolor(x, y, z)

tripcolor(x, y, z)

triplot(x, y)

triplot(x, y)

Artist 教程

Artist 教程

绘图的生命周期

绘图的生命周期

使用 Matplotlib 制作动画

使用 Matplotlib 制作动画

使用 blitting 提高渲染速度

使用 blitting 提高渲染速度

使用 cycler 进行样式设置

使用 cycler 进行样式设置

路径教程

路径教程

变换教程

变换教程

在图中排列多个坐标轴

在图中排列多个坐标轴

自动缩放坐标轴

自动缩放坐标轴

坐标轴刻度

坐标轴刻度

坐标轴刻度

坐标轴刻度

绘制日期和字符串

绘制日期和字符串

放置颜色条

放置颜色条

约束布局指南

约束布局指南

图例指南

图例指南

紧凑布局指南

紧凑布局指南

定制颜色条教程

定制颜色条教程

在 Matplotlib 中创建颜色映射

在 Matplotlib 中创建颜色映射

颜色映射归一化

颜色映射归一化

在 Matplotlib 中选择颜色映射

在 Matplotlib 中选择颜色映射

指定颜色

指定颜色

快速入门指南

快速入门指南

注解

注解

Matplotlib 中的文本

Matplotlib 中的文本