如果没有指定哪些BIN与使用,np.histogram并pyplot.hist会 使用默认设置,这是用10个相等的垃圾箱。第 一个容器的左边界是最小的值,最后一个容器的右边界是 最大的。
这就是bin边界为浮点数的原因。您可以使用bins 关键字参数来强制执行另一种垃圾箱选择,例如:
plt.hist(data, bins=np.arange(data.min(), data.max()+1))
编辑:将所有垃圾箱向左移动的最简单方法可能只是 从所有垃圾箱边界中减去0.5:
plt.hist(data, bins=np.arange(data.min(), data.max()+1)-0.5)
实现相同效果的另一种方法(如果存在非整数,则不是等效的 ):
plt.hist(data, bins=np.arange(data.min(), data.max()+1), align='left')