强制 pyplot 子图使用相同的 y 轴刻度



我有一个脚本来绘制计数率,其中包含原始源数据、背景和源,并校正了背景,我想在另一个下面显示一个。但是,我也希望三个单独的子图具有相同的 y 轴限制和比例,以帮助比较这三者。由于我将它应用于许多数据集,因此我实际上不能每次手动将所有三个数据集设置为具有相同的限制。

这是MWE:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(11)
y1 = np.arange(1,6.1,0.5)
y2 = np.arange(11)
y3 = np.arange(4,9.1,0.5)
plt.subplot(3,1,1)
plt.errorbar(x, y1, yerr=0.5)
plt.subplot(3,1,2)
plt.errorbar(x, y2, yerr=1.0)
plt.subplot(3,1,3)
plt.errorbar(x, y3, yerr=0.5)
plt.show()

你是这个意思吗?

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(11)
y1 = np.arange(1,6.1,0.5)
y2 = np.arange(11)
y3 = np.arange(4,9.1,0.5)
plt.subplot(3,1,1)
plt.errorbar(x, y1, yerr=0.5)
ymin, ymax = plt.gca().get_ylim()
plt.subplot(3,1,2)
plt.errorbar(x, y2, yerr=1.0)
plt.ylim([ymin, ymax])
plt.subplot(3,1,3)
plt.errorbar(x, y3, yerr=0.5)
plt.ylim([ymin, ymax])
plt.show()

最新更新