bin计数的Pyplot hist总和不等于元素的数量

时间:2017-05-08 19:14:33

标签: python matplotlib

我使用pyplot绘制直方图,发现bin计数的总和不等于元素的总和。哪里可能出现错误?

data = [1.272499, 1.3480160000000001, 1.42106, 1.431921, 0.95531699999999997, 1.167071, 1.2155849999999999, 0.716526, 1.356554]

n, bins, patches = plt.hist(np.array(data), bins = np.arange(-0.2,1.6,0.2))
assert np.sum(n) == len(data)

这里的n是:

[ 0.  0.  0.  0.  1.  1.  1.  4.]
7 9

1 个答案:

答案 0 :(得分:2)

最高直方图bin以1.4结束,因此不包括高于1.4的两个值。您应该使用np.arange(-0.2, 1.8, 0.2)代替。这将生成数组[-0.2 0. 0.2 0.4 0.6 0.8 1. 1.2 1.4 1.6],您的断言将为True