基于几个分布直方图的最高值进行相同的y轴缩放

时间:2016-04-07 20:07:21

标签: python matplotlib plot histogram

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

这是我用于绘制每个直方图的代码提取:

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轴值。但在我的情况下,重要的是让这个值自动缩放,我没有发现任何事情。

您认为这个问题有解决方案吗? 非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

另见我在这里写的代码:

Probability Distribution Function Python