python将每个子图的纵坐标间隔改为一致
时间: 2024-02-11 08:04:44 浏览: 70
要将每个子图的纵坐标间隔改为一致,可以使用`subplots_adjust()`函数来调整每个子图的间距和间隔,具体操作如下:
```python
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2, figsize=(8, 6))
# 绘制子图
axs[0, 0].plot([1, 2, 3], [2, 3, 4])
axs[0, 1].plot([1, 2, 3], [1, 4, 9])
axs[1, 0].plot([1, 2, 3], [4, 5, 6])
axs[1, 1].plot([1, 2, 3], [3, 2, 1])
# 调整子图间隔
plt.subplots_adjust(wspace=0.3, hspace=0.5)
# 获取子图的最大值和最小值
ymin, ymax = float('inf'), float('-inf')
for ax in axs.flat:
ymin = min(ymin, ax.get_ylim()[0])
ymax = max(ymax, ax.get_ylim()[1])
# 设置每个子图的纵坐标范围
for ax in axs.flat:
ax.set_ylim([ymin, ymax])
plt.show()
```
这里我们首先使用`subplots()`函数创建一个2x2的子图,然后使用`plot()`函数在每个子图中绘制数据,接着使用`subplots_adjust()`函数来调整每个子图的间隔。最后,我们通过遍历每个子图,获取它们的最大值和最小值,然后将每个子图的纵坐标范围设置为相同的值。
阅读全文