如何绘制最大y值为1的直方图?

时间:2018-05-31 05:49:35

标签: python histogram normalization

我有以下直方图:

enter image description here

蓝色列是数据,红色线是理论线。我通过首先绘制直方图,然后将理论曲线(最大值为1)缩放到直方图峰值的近似值来生成此值。我想通过使直方图的峰值也为1来避免这种手动缩放。我如何用Python做到这一点?

A previous question提供了获取峰值的方法(在我的情况下为122),但我无法弄清楚如何使用它来缩放直方图。看起来,一旦我调用hist命令,它将创建当前直方图,这是有意义的,因为直方图是什么 - 列不应该采用小数值。换句话说,我需要一种不同的方法。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

再次呼叫plt.hist,但使用weights参数指定缩放系数:

plt.hist(hdata, bins=40, weights=[1/y.max()]*x_len)