subplots
时间: 2023-07-23 07:17:44 浏览: 108
subplots是matplotlib库中的一个函数,用于创建包含多个子图的图形。它可以用于创建任意排列的子图网格,支持多种样式和参数设置,非常灵活和强大。
subplots函数的基本语法如下:
```python
fig, axs = plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
```
其中,nrows和ncols是两个整数,表示子图网格的行数和列数。sharex和sharey是两个布尔值,表示是否共享x轴和y轴。squeeze是一个布尔值,表示是否减少图形的维度。subplot_kw和gridspec_kw是一些可选参数,用于设置子图和网格的其他属性。fig_kw是一些可选参数,用于设置整个图形的属性,例如标题、大小等。
subplots函数返回一个包含两个元素的元组,第一个元素是一个Figure对象,表示整个图形,第二个元素是一个nrows x ncols的二维数组,表示每个子图。
下面是一个简单的例子,用于创建一个包含两个子图的图形:
```python
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))
axs[0].plot(x, y1, 'b-', label='sin(x)')
axs[0].set_xlabel('x')
axs[0].set_ylabel('y')
axs[0].set_title('Sin Plot')
axs[0].legend()
axs[1].plot(x, y2, 'r-', label='cos(x)')
axs[1].set_xlabel('x')
axs[1].set_ylabel('y')
axs[1].set_title('Cos Plot')
axs[1].legend()
plt.tight_layout()
plt.show()
```
在这个例子中,我们使用subplots函数创建了一个包含两个子图的图形,第一个子图绘制了sin函数,第二个子图绘制了cos函数。我们使用plot、set_xlabel、set_ylabel、set_title和legend函数分别设置了子图的属性。最后,我们使用tight_layout函数调整子图的间距,并使用show函数显示了图形。
阅读全文