深入浅出matplotlib(51): subplots ()函数和subplot()函数的区别

本文详细介绍了matplotlib中subplots和subplot函数的使用,两者都用于创建多子图,但subplots适用于一次性创建多个子图,而subplot则逐个添加。通过示例展示了如何使用这两个函数绘制相同内容的子图,帮助读者理解它们的区别。
摘要由CSDN通过智能技术生成

在画布里创建多个子图,有很多方法,但常常使用这两个subplots和subplot函数来创建多个子图,它们都能实现相同的功能,但是它们的使用上还是有点区别。

matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

创建一个画布和一个或多个子图返回。

 

matplotlib.pyplot.subplot(*args, **kwargs)

添加一个子图到当前画布,它会删除前面覆盖的子图。

 

如果想一次性地创建多个子图,就使用subplots函数,如果想一个一个地添加子图,就使用subplot函数,这是它们的主要区别。下面通过例子来演示两

`subplot`和`subplots`都是用来在一个图上绘制多个子图的函数。 `subplot`函数用于绘制单个子图,它的语法为: ```python plt.subplot(nrows, ncols, index, **kwargs) ``` 其中,`nrows`和`ncols`表示子图网格的行数和列数,`index`表示当前子图的位置,从左上角开始从左到右、从上到下依次编号。`**kwargs`是可选的参数,用于设置当前子图的属性,如标题、坐标轴等。 例如,要在一个2x2的网格上绘制4个子图,可以使用以下代码: ```python import matplotlib.pyplot as plt plt.subplot(2, 2, 1) plt.plot([1, 2, 3], [4, 5, 6]) plt.title('Subplot 1') plt.subplot(2, 2, 2) plt.plot([1, 2, 3], [4, 5, 6]) plt.title('Subplot 2') plt.subplot(2, 2, 3) plt.plot([1, 2, 3], [4, 5, 6]) plt.title('Subplot 3') plt.subplot(2, 2, 4) plt.plot([1, 2, 3], [4, 5, 6]) plt.title('Subplot 4') plt.tight_layout() plt.show() ``` `subplots`函数则可以一次性绘制多个子图,并将它们保存在一个二维数组中,方便后续操作。它的语法为: ```python fig, axes = plt.subplots(nrows, ncols, **kwargs) ``` 其中,`fig`是整个图像的对象,`axes`是一个二维数组,保存所有子图的对象。其他参数与`subplot`函数相同。 例如,要在一个2x2的网格上绘制4个子图,可以使用以下代码: ```python import matplotlib.pyplot as plt fig, axes = plt.subplots(2, 2) axes[0, 0].plot([1, 2, 3], [4, 5, 6]) axes[0, 0].set_title('Subplot 1') axes[0, 1].plot([1, 2, 3], [4, 5, 6]) axes[0, 1].set_title('Subplot 2') axes[1, 0].plot([1, 2, 3], [4, 5, 6]) axes[1, 0].set_title('Subplot 3') axes[1, 1].plot([1, 2, 3], [4, 5, 6]) axes[1, 1].set_title('Subplot 4') plt.tight_layout() plt.show() ``` 注意,使用`subplots`函数时不需要再调用`subplot`函数,而是直接通过二维数组索引来获取每个子图对象,并设置其属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值