Python 基于多个分布直方图的最高值的相同y轴缩放

Python 基于多个分布直方图的最高值的相同y轴缩放,python,matplotlib,plot,histogram,Python,Matplotlib,Plot,Histogram,我有几个阵列包含传感器的测量数据。我想在matplotlib的帮助下通过绘制直方图来比较每个数组的频率分布。我的问题是,每个直方图的自动缩放y轴不同,因此当我并排考虑它们时,我无法将它们与真实缩放进行比较。在链接中的以下图片上,您可以看到,y轴的最大值在绿色轴上为18%,在灰色轴上为30%。在这种情况下,我想让它们按发生的最高百分比自动缩放:30% 下面是我用来绘制每个直方图的代码摘录: x = array_torque_VR weights = 100*numpy.ones_like(x)/

我有几个阵列包含传感器的测量数据。我想在matplotlib的帮助下通过绘制直方图来比较每个数组的频率分布。我的问题是,每个直方图的自动缩放y轴不同,因此当我并排考虑它们时,我无法将它们与真实缩放进行比较。在链接中的以下图片上,您可以看到,y轴的最大值在绿色轴上为18%,在灰色轴上为30%。在这种情况下,我想让它们按发生的最高百分比自动缩放:30%

下面是我用来绘制每个直方图的代码摘录:

x = array_torque_VR
weights = 100*numpy.ones_like(x)/len(x) #maximum y-axis value is 100%
n, bins, patches = pyplot.hist(x, 20, weights=weights, facecolor='lime')
pyplot.xlabel('Torque in Nm')
pyplot.ylabel('Frequency in %')
我知道,可以通过“pyplot.ylim()”设置固定的最大y轴值。但在我的例子中,让这个值自动缩放是很重要的,我没有找到任何方法

你认为有解决这个问题的办法吗?
非常感谢您的帮助

应将柱状图的数据创建与实际打印分开。使用
numpy.histogram
获取数据,然后同时绘制所有不同的案例。这比连续几次使用
pyplot.hist
函数更有效

另请参见我在此处编写的代码:


您应该将直方图的数据创建与实际打印分开。使用
numpy.histogram
获取数据,然后同时绘制所有不同的案例。这比连续几次使用
pyplot.hist
函数更有效

另请参见我在此处编写的代码: