plt.subplots()的用法
时间: 2023-10-14 18:06:42 浏览: 108
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
`plt.subplots()` 方法是用来创建包含一个或多个子图的图形的常用方法。它返回两个值,第一个是包含所有子图的大图(`Figure` 对象),第二个是子图列表(`Axes` 对象)。
`plt.subplots()` 方法的语法如下:
```python
fig, ax = plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
```
其中,参数含义如下:
- `nrows`:表示子图的行数,默认为 1。
- `ncols`:表示子图的列数,默认为 1。
- `sharex`:表示是否共享 x 轴,默认为 `False`。
- `sharey`:表示是否共享 y 轴,默认为 `False`。
- `squeeze`:表示是否压缩子图列表,如果为 `True`,则当子图只有一行或一列时,返回的子图列表中不包含外围的列表。默认为 `True`。
- `subplot_kw`:表示子图的关键字参数。
- `gridspec_kw`:表示 `GridSpec` 的关键字参数。
- `**fig_kw`:表示传递给 `Figure` 对象的关键字参数。
例如,创建一个包含 2 行 2 列的子图的图形,可以使用以下代码:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots(nrows=2, ncols=2)
```
这将返回一个包含 4 个子图的大图和一个 2x2 的子图列表。可以使用 `ax` 变量来操作每个子图,例如:
```python
ax[0, 0].plot([1, 2, 3, 4], [1, 4, 2, 3])
ax[0, 1].scatter([1, 2, 3, 4], [1, 4, 2, 3])
ax[1, 0].bar([1, 2, 3, 4], [1, 4, 2, 3])
ax[1, 1].hist([1, 2, 3, 4])
```
这将在第一个子图中绘制一条线,第二个子图中绘制散点图,第三个子图中绘制条形图,第四个子图中绘制直方图。
阅读全文