seaborn.displot#
- seaborn.displot(data=None, **, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)#
FacetGrid に分布プロットを描画するための図レベルのインターフェース。
この関数は、セマンティックマッピングで定義されたデータのサブセットや、複数のサブプロットにわたるファセット化など、データの単変量または二変量分布を可視化するためのいくつかのアプローチへのアクセスを提供します。`kind` パラメータは、使用するアプローチを選択します。
histplot()
(`kind="hist"` を使用; デフォルト)kdeplot()
(`kind="kde"` を使用)ecdfplot()
(`kind="ecdf"` を使用; 単変量のみ)
さらに、
rugplot()
は、個々の観測値を表示するためにあらゆる種類のプロットに追加できます。追加のキーワード引数は、基になる関数に渡されるため、このインターフェースを使用してプロットを作成するためのオプションの完全なセットを理解するには、それぞれのドキュメントを参照する必要があります。
各アプローチの相対的な長所と短所についてのより詳細な議論については、分布プロットのチュートリアルを参照してください。図レベル関数と軸レベル関数の違いについては、ユーザーガイドで詳しく説明されています。
- パラメータ:
- **data**
pandas.DataFrame
、numpy.ndarray
、マッピング、またはシーケンス 入力データ構造。名前付き変数に割り当てることができるベクトルの長形式のコレクション、または内部的に形状変更される広形式のデータセット。
- **x、y**`data` 内のベクトルまたはキー
x 軸と y 軸上の位置を指定する変数。
- **hue**`data` 内のベクトルまたはキー
プロット要素の色を決定するためにマッピングされるセマンティック変数。
- **row、col**`data` 内のベクトルまたはキー
異なるファセットにプロットするサブセットを定義する変数。
- **weights**`data` 内のベクトルまたはキー
分布関数の計算に使用される観測値の重み。
- **kind**{“hist”, “kde”, “ecdf”}
データを可視化するため手法。基になるプロット関数を選択し、追加の有効なパラメータのセットを決定します。
- **rug**bool
True の場合、各観測値を marginal ticks(
rugplot()
のように)で表示します。- rug_kws辞書
rug プロットの外観を制御するためのパラメータ。
- log_scaleブール値または数値、あるいはブール値または数値のペア
軸スケールを対数に設定します。単一の値は、プロット内の数値軸のデータ軸を設定します。値のペアは、各軸を個別に設定します。数値は、目的の底として解釈されます(デフォルトは10)。
None
またはFalse
の場合、seaborn は既存の軸スケールに従います。- legendブール値
False の場合、セマンティック変数の凡例を非表示にします。
- palette文字列、リスト、辞書、または
matplotlib.colors.Colormap
hue
セマンティックをマッピングする際に使用する色を選択する方法。文字列値はcolor_palette()
に渡されます。リストまたは辞書値はカテゴリマッピングを意味し、カラーマップオブジェクトは数値マッピングを意味します。- hue_order文字列のベクトル
hue
セマンティックのカテゴリレベルの処理とプロットの順序を指定します。- hue_normタプルまたは
matplotlib.colors.Normalize
データ単位で正規化範囲を設定する値のペア、またはデータ単位を [0, 1] 区間にマッピングするオブジェクトのいずれか。使用法は数値マッピングを意味します。
- color
matplotlib color
色相マッピングが使用されていない場合の単一の色指定。それ以外の場合、プロットは matplotlib プロパティサイクルにフックしようとします。
- col_wrap整数
列変数をこの幅で「折り返し」て、列ファセットが複数の行にまたがるようにします。
row
ファセットと互換性がありません。- {row,col}_order文字列のベクトル
row
および/またはcol
変数のレベルがサブプロットのグリッドに表示される順序を指定します。- heightスカラー
各ファセットの高さ(インチ単位)。
aspect
も参照してください。- aspectスカラー
各ファセットの縦横比。
aspect * height
は、各ファセットの幅をインチ単位で表します。- facet_kws辞書
FacetGrid
に渡される追加パラメータ。- kwargs
その他のキーワード引数は、関連する軸レベル関数で説明されています。
histplot()
(kind="hist"
を使用)kdeplot()
(`kind="kde"` を使用)ecdfplot()
(kind="ecdf"
を使用)
- **data**
- 戻り値:
FacetGrid
条件付きデータサブセットに対応する1つ以上のサブプロットを管理するオブジェクト。軸属性の一括設定に便利なメソッドを提供します。
関連項目
例
各プロットの種類で使用可能なオプションの幅広い詳細については、軸レベル関数の API ドキュメントを参照してください。
デフォルトのプロットの種類はヒストグラムです。
penguins = sns.load_dataset("penguins") sns.displot(data=penguins, x="flipper_length_mm")
kind
パラメータを使用して、別の表現を選択します。sns.displot(data=penguins, x="flipper_length_mm", kind="kde")
3つの主要なプロットの種類があります。ヒストグラムとカーネル密度推定(KDE)に加えて、経験的累積分布関数(ECDF)も描画できます。
sns.displot(data=penguins, x="flipper_length_mm", kind="ecdf")
ヒストグラムモードでは、KDE 曲線を追加することもできます。
sns.displot(data=penguins, x="flipper_length_mm", kde=True)
二変量プロットを描画するには、
x
とy
の両方を割り当てます。sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm")
現在、二変量プロットはヒストグラムと KDE でのみ使用できます。
sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm", kind="kde")
どちらの種類のプロットでも、個々の観測値を周辺の「rug」で表示することもできます。
g = sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm", kind="kde", rug=True)
各種類のプロットは、
hue
マッピングを使用してデータのサブセットごとに個別に描画できます。sns.displot(data=penguins, x="flipper_length_mm", hue="species", kind="kde")
追加のキーワード引数は、適切な基になるプロット関数に渡され、さらなるカスタマイズが可能になります。
sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")
図は
FacetGrid
を使用して構築されます。つまり、個別のサブプロット、つまり「ファセット」にサブセットを表示することもできます。sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="sex", kind="kde")
図は
FacetGrid
を使用して描画されるため、height
パラメータとaspect
パラメータを使用してサイズと形状を制御します。sns.displot( data=penguins, y="flipper_length_mm", hue="sex", col="species", kind="ecdf", height=4, aspect=.7, )
関数は、プロットを含む
FacetGrid
オブジェクトを返します。このオブジェクトのメソッドを使用して、さらにカスタマイズできます。g = sns.displot( data=penguins, y="flipper_length_mm", hue="sex", col="species", kind="kde", height=4, aspect=.7, ) g.set_axis_labels("Density (a.u.)", "Flipper length (mm)") g.set_titles("{col_name} penguins")