如何对直方图进行标准化,使得高度之和等于1?

时间:2012-12-06 08:52:34

标签: python matplotlib

我使用matplotlib.pyplot.hist的调用生成了下图,其中我传递了kwarg normed=True

enter image description here

经过进一步的研究,我意识到这种规范化的工作方式是直方图的积分等于1.我如何绘制相同的数据,使得条的高度之和等于1?

换句话说,我希望每一位代表其值包含的整体比例。

1 个答案:

答案 0 :(得分:3)

我不确定是否有一种直截了当的方式,但是 您可以手动将所有条形高度除以输入的长度(以下内容在ipython --pylab中进行以跳过导入):

inp = normal(size=1000)
h = hist(inp)

哪个给你

enter image description here

现在,你可以这样做:

bar(h[1][:-1], h[0]/float(len(inp)), diff(h[1]))

并获取

enter image description here