seaborn.objects.Hist#
- class seaborn.objects.Hist(stat='count', bins='auto', binwidth=None, binrange=None, common_norm=True, common_bins=True, cumulative=False, discrete=False)#
観測値をビンに分類し、カウントし、必要に応じて正規化または累積します。
- パラメータ:
- statstr
各ビンで計算する集計統計量
count
: 観測値の数density
: ヒストグラムの総面積が1になるように正規化percent
: 棒の高さの合計が100になるように正規化probability
またはproportion
: 棒の高さの合計が1になるように正規化frequency
: 観測値の数をビン幅で割る
- binsstr, int, または ArrayLike
参照ルールの名前、ビンの数、またはビンの区切りを表すことができる汎用パラメータ。
numpy.histogram_bin_edges()
に渡されます。- binwidthfloat
各ビンの幅。
bins
をオーバーライドしますが、binrange
と一緒に使用できます。binwidth
がビン範囲を均等に分割しない場合、使用される実際のビン幅はパラメータ値とほぼ等しくなります。- binrange(min, max)
ビン端の最小値と最大値。
bins
(数値の場合)またはbinwidth
と一緒に使用できます。デフォルトはデータの極値です。- common_normbool または変数のリスト
False
でない場合、正規化はグループ全体に適用されます。True
を使用するとすべてのグループで正規化され、正規化グループを定義する変数名を指定することもできます。- common_binsbool または変数のリスト
False
でない場合、すべてのグループで同じビンが使用されます。True
を使用するとすべてのグループでビンが共有され、共有するグループを定義する変数名を指定することもできます。- cumulativebool
Trueの場合、ビンの値を累積します。
- discretebool
Trueの場合、ビンの幅が1で整数値を中心としたビンになるように
binwidth
とbinrange
を設定します。
備考
ヒストグラムの計算とプロットのためのビンの選択は、視覚化から得られる洞察に大きな影響を与える可能性があります。ビンが大きすぎると、重要な特徴が消えてしまう可能性があります。一方、ビンが小さすぎると、ランダムな変動が支配的になり、真の基礎となる分布の形が不明瞭になる可能性があります。デフォルトのビンサイズは、サンプルサイズと分散に依存する参照ルールを使用して決定されます。これは多くの場合(つまり、「扱いやすい」データの場合)うまく機能しますが、他の場合では失敗します。重要なものを逃していないことを確認するために、常にさまざまなビンサイズを試すことが重要です。この関数は、ビンの総数、各ビンの幅、またはビンが分割される特定の位置を設定するなど、さまざまな方法でビンを指定できます。
例
離散変数またはカテゴリ変数の場合、この統計量は一般に
Bar
マークと組み合わせて使用されます。so.Plot(penguins, "island").add(so.Bar(), so.Hist())
単変量分布を推定するために使用する場合、
Bars
マークを使用する方が良いです。p = so.Plot(penguins, "flipper_length_mm") p.add(so.Bars(), so.Hist())
ビンの粒度は、基礎となる分布が正確に表現されるかどうかを左右します。ビンの総数を設定することで調整します。
p.add(so.Bars(), so.Hist(bins=20))
あるいは、ビンの*幅*を指定します。
p.add(so.Bars(), so.Hist(binwidth=5))
デフォルトでは、変換は各ビン内の観測値のカウントを返します。カウントは正規化して、たとえば割合を表示できます。
p.add(so.Bars(), so.Hist(stat="proportion"))
追加の変数がグループを定義する場合、デフォルトの動作はすべてのグループで正規化することです。
p = p.facet("island") p.add(so.Bars(), so.Hist(stat="proportion"))
common_norm=False
を渡すと、各分布を個別に正規化します。p.add(so.Bars(), so.Hist(stat="proportion", common_norm=False))
または、複数のグループ化変数がある場合は、正規化するサブセットを指定します。
p.add(so.Bars(), so.Hist(stat="proportion", common_norm=["col"]), color="sex")
分布が重なっている場合は、
Area
マークを使用すると、形状をより簡単に識別できます。p.add(so.Area(), so.Hist(), color="sex")
または、部分と全体の関係を表すために
Stack
ムーブを追加します。p.add(so.Bars(), so.Hist(), so.Stack(), color="sex")