Matplotlib库学习之pyplot.subplots函数

Matplotlib库学习之pyplot.subplots函数

一、简介

pyplot.subplots 是 Matplotlib 的 pyplot 模块中的一个便捷函数,用于在一个图形(figure)中创建多个子图(axes)。它是一个快捷方式,可以一次性创建多个子图,而不需要使用循环或多次调用 add_subplot

二、语法和参数

pyplot.subplots 函数的基本语法如下:

plt.subplots(nrows, ncols, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
  • nrows:子图的行数。
  • ncols:子图的列数。
  • sharex:布尔值或坐标轴对象,指定子图是否共享x轴。
  • sharey:布尔值或坐标轴对象,指定子图是否共享y轴。
  • squeeze:布尔值,指定是否去除单维度条目。
  • subplot_kw:传递给 add_subplot 的关键字参数。
  • gridspec_kw:传递给 GridSpec 的关键字参数。
  • **fig_kw:创建图形时使用的其他关键字参数。
三、实例
3.1 创建一个2x2网格的子图
import matplotlib.pyplot as plt

# 创建一个2x2网格的子图
fig, axs = plt.subplots(2, 2)

# 绘制每个子图的内容
for i in range(2):
    for j in range(2):
        axs[i, j].plot([i, j], [j, i])

# 显示图形
plt.show()

输出:一个2x2网格的窗口,每个子图显示两条交叉的线。

3.2 创建共享x轴的子图
import matplotlib.pyplot as plt

# 创建共享x轴的子图
fig, axs = plt.subplots(2, 1, sharex=True)

# 绘制每个子图的内容
for ax in axs:
    ax.plot([1, 2, 3], [4, 5, 6])

# 显示图形
plt.show()

输出:一个2行1列的窗口,两个子图共享x轴,都显示相同的折线图。

3.3 创建共享y轴的子图
import matplotlib.pyplot as plt

# 创建共享y轴的子图
fig, axs = plt.subplots(1, 2, sharey=True)

# 绘制每个子图的内容
for ax in axs:
    ax.plot([1, 2, 3], [4, 5, 6])

# 显示图形
plt.show()

输出:一个1行2列的窗口,两个子图共享y轴,都显示相同的折线图。

四、注意事项
  • pyplot.subplots 返回两个值:一个图形对象和包含所有子图的数组。
  • sharexsharey 设置为 True 时,所有子图将共享相应的轴。
  • squeeze=True 时,如果子图数组只有单个元素,将返回单个坐标轴而不是数组。
  • subplot_kw 允许用户为每个子图指定额外的参数,例如三维坐标轴 projection='3d'
  • fig_kw 用于传递创建图形时的其他参数,如 figsize
  • 使用 plt.subplots 可以简化创建多个子图的代码,特别是在需要固定布局的子图时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值