9

matplotlibhist関数について混乱しています。

ドキュメントの説明:

値のシーケンスの場合、使用されるビンの下限の値。

しかし、2つの値を順番に持っている場合、つまり[0,1]の場合、1つのビンしか取得できません。そして、私がそのように3つ持っているとき:

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

ビンは2つしかありません。私の推測では、最後の値は最後のビンの上限にすぎません。

最後のビンに「残りの」値を含める方法はありますか?それ以外に、非常に大きな値がありますか?(つまり、そのビンを他のビンよりもはるかに大きくすることなく)

最後のビンの値が最後のビンに含まれているようです

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

これにより、高さ3のビンが1つ得られます。つまり、0,0,1です。その間:

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

それぞれに2つのビンが2つあります。このカウンターは直感的で、新しいビンを追加すると他のビンの幅の制限が変更されます。

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

サイズ2と1の2つのビンが生成されます。x軸が0から1になるため、これらは0,5で分割されているようです。

bins配列はどのように解釈されるべきですか?データはどのように分割されますか?

4

1 に答える 1

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

これにより、高さ3のビンが1つ得られます。これは、データを[0、1]の間隔で1つのビンに分割するためです。そのビンに値0、0、および1を入れます。

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

これにより、間隔が[0、1 [および[1、2];のビンを持つヒストグラムが得られます。したがって、1番目のビン(0と0)に2つのアイテムがあり、2番目のビン(1と2)に2つのアイテムがあります。

プロットしようとすると:

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

データをビンに分割する背後にある考え方は同じです。3つの間隔が得られます:[0、1 [; [1、2 [; [2、3]、そして値2がそのビンを変更し、間隔[2、3]でビンに移動することに気付くでしょう(前の例のようにビン[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]

角かっこに従って、それぞれの境界が開いているか閉じているかを示します。

于 2013-03-02T18:06:23.617 に答える