小编use*_*140的帖子

在matplotlib直方图中设置相对频率

我有数据作为浮动列表,我想将其绘制为直方图.Hist()函数完美地完成了绘制绝对直方图的工作.但是,我无法弄清楚如何以相对频率格式表示它 - 我希望将它作为一个分数或理想情况下作为y轴上的百分比.

这是代码:

fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(mydata, bins=100, normed=1, cumulative=0)
ax.set_xlabel('Bins', size=20)
ax.set_ylabel('Frequency', size=20)
ax.legend

plt.show()
Run Code Online (Sandbox Code Playgroud)

我认为normed = 1参数会做到这一点,但它会给出分数太高而有时大于1.它们似乎也依赖于bin大小,好像它们没有被bin大小或其他东西标准化.然而,当我设置cumulative = 1时,很好地总结为1.那么,捕获的位置在哪里?顺便说一句,当我将相同的数据输入Origin并绘制它时,它给出了完全正确的分数.谢谢!

python frequency matplotlib histogram

24
推荐指数
2
解决办法
2万
查看次数

标签 统计

frequency ×1

histogram ×1

matplotlib ×1

python ×1