pyplot直方图箱是如何解释的



我对matplotlib hist函数感到困惑。

文件说明:

如果是一个值序列,则使用区间下限的值。

但当我在序列中有两个值,即[0,1]时,我只得到1个bin。当我有三个这样的:

plt.hist(votes, bins=[0,1,2], normed=True)

我只有两个箱子。我的猜测是,最后一个值只是最后一个bin的上界。

是否有一种方法可以将"其余"值放在最后一个bin中,而不是放一个非常大的值?(或者换句话说,在不使该垃圾箱比其他垃圾箱大得多的情况下(

最后一个仓位值似乎包含在最后一个仓中

votes = [0,0,1,2]
plt.hist(votes, bins=[0,1])

这给了我一个3米高的箱子。即0,0,1。While:

votes = [0,0,1,2]
plt.hist(votes, bins=[0,1,2])

给我两个箱子,每个箱子两个。我发现这个反直觉,添加一个新的垃圾箱会改变其他垃圾箱的宽度限制。

votes = [0,0,1]
plit.hist[votes, bins=2) 

有两个大小分别为2和1的箱子。由于x轴从0到1,这些似乎在0.5上被分割。

应如何解释bin数组?数据是如何分割的

votes = [0, 0, 1, 2]
plt.hist(votes, bins=[0,1])

这将为您提供一个高度为3的bin,因为它将数据拆分为一个单独的bin,其间隔为[0,1]。它将值0、0和1放入该bin中。

votes = [0, 0, 1, 2]
plt.hist(votes, bins=[0, 1, 2])

这为您提供了一个直方图,其中包含区间为[0,1[和[1,2]的bin;因此,第一个存储箱中有2个项目(0和0(,第二个存储箱(1和2(中有两个项目。

如果你试图绘制:

plt.hist(votes, bins=[0, 1, 2, 3])

将数据拆分为存储箱背后的想法是相同的:您将获得三个间隔:[0,1[;[1,2[;[2,3],您会注意到值2改变了它的bin,进入间隔为[2,3]bin(而不是像前面的例子那样停留在bin[1,2]中(。

总之,如果bins参数中有一个有序数组,如:[i_0,i_1,i_2,i_3,i_4,…,i_n]将创建垃圾箱:
[i_0,i_1[
[i_1,i_2[
[i_2,i_3[
[i_3,i_4[

[i_(n-1(,i_n]

其中每个的边界根据括号打开或关闭。

最新更新