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で整数値を中心としたビンになるようにbinwidthbinrangeを設定します。

備考

ヒストグラムの計算とプロットのためのビンの選択は、視覚化から得られる洞察に大きな影響を与える可能性があります。ビンが大きすぎると、重要な特徴が消えてしまう可能性があります。一方、ビンが小さすぎると、ランダムな変動が支配的になり、真の基礎となる分布の形が不明瞭になる可能性があります。デフォルトのビンサイズは、サンプルサイズと分散に依存する参照ルールを使用して決定されます。これは多くの場合(つまり、「扱いやすい」データの場合)うまく機能しますが、他の場合では失敗します。重要なものを逃していないことを確認するために、常にさまざまなビンサイズを試すことが重要です。この関数は、ビンの総数、各ビンの幅、またはビンが分割される特定の位置を設定するなど、さまざまな方法でビンを指定できます。

離散変数またはカテゴリ変数の場合、この統計量は一般にBarマークと組み合わせて使用されます。

so.Plot(penguins, "island").add(so.Bar(), so.Hist())
../_images/objects.Hist_1_0.png

単変量分布を推定するために使用する場合、Barsマークを使用する方が良いです。

p = so.Plot(penguins, "flipper_length_mm")
p.add(so.Bars(), so.Hist())
../_images/objects.Hist_3_0.png

ビンの粒度は、基礎となる分布が正確に表現されるかどうかを左右します。ビンの総数を設定することで調整します。

p.add(so.Bars(), so.Hist(bins=20))
../_images/objects.Hist_5_0.png

あるいは、ビンの*幅*を指定します。

p.add(so.Bars(), so.Hist(binwidth=5))
../_images/objects.Hist_7_0.png

デフォルトでは、変換は各ビン内の観測値のカウントを返します。カウントは正規化して、たとえば割合を表示できます。

p.add(so.Bars(), so.Hist(stat="proportion"))
../_images/objects.Hist_9_0.png

追加の変数がグループを定義する場合、デフォルトの動作はすべてのグループで正規化することです。

p = p.facet("island")
p.add(so.Bars(), so.Hist(stat="proportion"))
../_images/objects.Hist_11_0.png

common_norm=Falseを渡すと、各分布を個別に正規化します。

p.add(so.Bars(), so.Hist(stat="proportion", common_norm=False))
../_images/objects.Hist_13_0.png

または、複数のグループ化変数がある場合は、正規化するサブセットを指定します。

p.add(so.Bars(), so.Hist(stat="proportion", common_norm=["col"]), color="sex")
../_images/objects.Hist_15_0.png

分布が重なっている場合は、Areaマークを使用すると、形状をより簡単に識別できます。

p.add(so.Area(), so.Hist(), color="sex")
../_images/objects.Hist_17_0.png

または、部分と全体の関係を表すためにStackムーブを追加します。

p.add(so.Bars(), so.Hist(), so.Stack(), color="sex")
../_images/objects.Hist_19_0.png