Chr*_*äck 9 matplotlib histogram
我对matplotlib hist函数感到困惑.
文档说明:
如果是一系列值,则使用二进制数的下限值.
但是当我按顺序有两个值,即[0,1]时,我只得到1个bin.当我有三个这样的时候:
plt.hist(votes, bins=[0,1,2], normed=True)
Run Code Online (Sandbox Code Playgroud)
我只买了两个箱子.我的猜测是最后一个值只是最后一个bin的上限.
有没有办法在最后一个bin中包含值的"其余",除了那个非常大的值?(换句话说,没有让那个箱子比其他箱子大得多)
似乎最后一个bin值包含在最后一个bin中
votes = [0,0,1,2]
plt.hist(votes, bins=[0,1])
Run Code Online (Sandbox Code Playgroud)
这给了我一个高度为3的箱子,即0,0,1.而:
votes = [0,0,1,2]
plt.hist(votes, bins=[0,1,2])
Run Code Online (Sandbox Code Playgroud)
给我两个箱子,每箱两个.我发现这个反作用是直观的,添加一个新的bin会改变其他bin的宽度限制.
votes = [0,0,1]
plit.hist[votes, bins=2)
Run Code Online (Sandbox Code Playgroud)
yeilds两个大小为2和1的区域.由于x轴从0变为1,因此这些区域似乎已经被分割为0,5.
如何解释bin数组?数据是如何分开的?
sis*_*aty 15
votes = [0, 0, 1, 2]
plt.hist(votes, bins=[0,1])
Run Code Online (Sandbox Code Playgroud)
这会给你一个高度为3的bin,因为它将数据分成一个单独的bin,间隔为:[0,1].它将值放入该bin:0,0和1.
votes = [0, 0, 1, 2]
plt.hist(votes, bins=[0, 1, 2])
Run Code Online (Sandbox Code Playgroud)
这给你一个带有间隔的箱子的直方图:[0,1 [和[1,2]; 所以你在第一个bin(0和0)中有2个项目,在第二个bin(1和2)中有2个项目.
如果你试图绘图:
plt.hist(votes, bins=[0, 1, 2, 3])
Run Code Online (Sandbox Code Playgroud)
数据分割成垃圾箱背后的想法是一样的:你会得到三个区间:[0,1 [; [1,2 [; [2,3],你会注意到值2改变了它的bin,以间隔[2,3]进入bin(而不是像上一个例子一样留在bin [1,2]中).
总之,如果你在bin参数中有一个有序数组,如:[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]
根据括号,每个打开或关闭的边界.