fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize = (10,10))
时间: 2023-10-03 20:04:46 浏览: 175
这段代码使用 Matplotlib 创建了一个包含4个子图的图形对象,以及一个10x10英寸的图形窗口。子图被安排在2行2列的网格中,从左上角的`ax1`开始,顺时针排列到右下角的`ax4`。
使用 `plt.subplots()` 函数,可以同时创建并返回一个图形对象和包含子图的轴对象数组。在这个例子中,通过将 `nrows` 和 `ncols` 参数设置为2,即可指定将要创建的子图数量。`figsize` 参数用于设置图形窗口的尺寸。
可以在这个图形对象上进一步进行绘图和设置子图的属性,例如调整轴的刻度、标签、标题等。
相关问题
fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1)如何画出来
在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()
```
在这个示例中,你会看到两个直方图分别出现在上下两个子图中,各自有自己的标题和标签。
plt.style.use('fivethirtyeight') fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize = (10,10)) fig.autofmt_xdate(rotation = 45) ax1.plot(dates, features['actual']) ax1.set_xlabel(''); ax1.set_ylabel('Temperature'); ax1.set_title('Max Temp') ax2.plot(dates, features['temp_1']) ax2.set_xlabel(''); ax2.set_ylabel('Temperature'); ax2.set_title('Previous Max Temp') ax3.plot(dates, features['temp_2']) ax3.set_xlabel('Date'); ax3.set_ylabel('Temperature'); ax3.set_title('Two Days Prior Max Temp') ax4.plot(dates, features['friend']) ax4.set_xlabel('Date'); ax4.set_ylabel('Temperature'); ax4.set_title('Friend Estimate') plt.tight_layout(pad=2)
这段代码使用了Matplotlib库来绘制一个包含四个子图的大图。其中,第一个子图展示了实际的最高温度,第二个子图展示了前一天的最高温度,第三个子图展示了两天前的最高温度,第四个子图展示了一个朋友的温度估计值。这些子图都使用了日期作为x轴,并使用不同的颜色和标题来区分它们。fig.autofmt_xdate(rotation = 45)这行代码将日期旋转了45度,以避免日期之间的重叠。plt.tight_layout(pad=2)则是用来调整子图之间的间距,使其更加美观。
阅读全文