python中matplotlib 子图
时间: 2023-09-28 12:09:40 浏览: 100
【python数据分析(23)】Matplotlib库绘图的子图、主次刻度、注解、图表输出
在Python的matplotlib库中,可以使用subplot函数来绘制多个子图。以下是使用subplot函数创建子图的示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个2x2的子图
plt.subplot(2, 2, 1) # 第一个子图
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.subplot(2, 2, 2) # 第二个子图
plt.plot([1, 2, 3, 4], [1, 8, 27, 64])
plt.subplot(2, 2, 3) # 第三个子图
plt.plot([1, 2, 3, 4], [1, 16, 81, 256])
plt.subplot(2, 2, 4) # 第四个子图
plt.plot([1, 2, 3, 4], [1, 32, 243, 1024])
plt.show()
```
在上述代码中,我们使用subplot函数来创建一个2x2的子图区域,然后使用不同的subplot函数来绘制每个子图。subplot函数的三个参数分别表示子图的行数、列数和当前子图的索引。
另外,你还可以使用add_subplot方法来创建子图,它更加灵活。以下是使用add_subplot方法创建子图的示例代码:
```python
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6, 6), dpi=80)
# 创建一个2x2的子图区域
ax1 = fig.add_subplot(2, 2, 1) # 第一个子图
ax2 = fig.add_subplot(2, 2, 2) # 第二个子图
ax3 = fig.add_subplot(2, 2, 3) # 第三个子图
ax4 = fig.add_subplot(2, 2, 4) # 第四个子图
# 在每个子图中绘制数据
ax1.plot([1, 2, 3, 4], [1, 4, 9, 16])
ax2.plot([1, 2, 3, 4], [1, 8, 27, 64])
ax3.plot([1, 2, 3, 4], [1, 16, 81, 256])
ax4.plot([1, 2, 3, 4], [1, 32, 243, 1024])
plt.show()
```
在上述代码中,我们首先创建一个Figure对象,然后使用add_subplot方法在Figure对象上创建子图。add_subplot方法的三个参数同样表示子图的行数、列数和当前子图的索引。通过这种方式,我们可以更加灵活地控制子图的排列和布局。
希望对你有所帮助!
阅读全文