fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1)如何画出来
时间: 2024-10-06 11:06:39 浏览: 47
matplotilb中fig,ax = plt.subplots()的使用
在Python的matplotlib库中,`plt.subplots(nrows=2, ncols=1)`这个函数是用来创建一个新的图形,并在同一张图上创建指定数量的子图。在这个例子中,`nrows=2`表示你想创建两行子图,`ncols=1`表示一列,所以总共会生成2个并排的子图。
当你运行这行代码时,它会返回一个元组,其中包含一个`Figure`对象(即整个图形),以及一个包含两个`Axes`对象的列表,每个`Axes`对象代表一个子图。`ax1`和`ax2`就是这两个子图的引用。
下面是一个完整的示例,展示了如何使用这个结构来绘制两个独立的直方图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建一些随机数据
data1 = np.random.randn(500)
data2 = np.random.randn(500) * 2
# 使用subplots创建一个2x1的网格
fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1)
# 在每个子图上画出直方图
ax1.hist(data1, bins=10, alpha=0.5, color='blue', label='Data1')
ax1.set_title('Histogram of Data1')
ax2.hist(data2, bins=10, alpha=0.5, color='red', label='Data2')
ax2.set_title('Histogram of Data2')
# 添加标题和标签
fig.suptitle('Two Subplots on One Figure')
ax1.legend()
ax2.legend()
# 显示图形
plt.tight_layout() # 为了防止子图之间的间距过大
plt.show()
```
在这个示例中,你会看到两个直方图分别出现在上下两个子图中,各自有自己的标题和标签。
阅读全文