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

时间:2016-02-02 15:37:55

标签: python matplotlib subplot

我有一个脚本来绘制计数率与原始源数据,背景和源,背景已更正,我希望显示一个在另一个之下。但是,我还希望三个独立的子图具有相同的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()

1 个答案:

答案 0 :(得分:0)

你是说这个吗?

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()