我正在尝试使用matplotlib.pyplot绘制数组的直方图。这个数组看起来像:
0.00759973 0.01399929 0.01979953 0.0263557 0.02830635 0.03270312 ......
我的代码是:
import matplotlib.pyplot as plt
plt.hist(probabilities, 50, normed = True) # probabilities store a series of float numbers
plt.xlabel("Success Probability")
plt.ylabel("Frequency")
plt.show()
我希望看到一个带有整数Y-ticks的直方图。但是,我得到了这个:
从图像中可以看出,Y刻度是十进制数。我对这样的结果感到困惑。我可以知道如何达到我的预期吗?感谢。
PS:我不知道为什么没有显示图像。我试过几次,甚至更换了默认描述...... :(
答案 0 :(得分:1)
设置参数normed = False
,因为normed
的默认值为False,您可以省略它。以下是normed
:
normed:布尔值,可选,默认值:False
如果为True,则返回元组的第一个元素将被归一化以形成概率密度的计数,即n /(len(x)`dbin),即 直方图的积分将总和为1.如果堆叠也为真, 直方图的总和归一化为1。