seaborn.PairGrid#
- class seaborn.PairGrid(data, *, hue=None, vars=None, x_vars=None, y_vars=None, hue_order=None, palette=None, hue_kws=None, corner=False, diag_sharey=True, height=2.5, aspect=1, layout_pad=0.5, despine=True, dropna=False)#
データセット内のペアワイズ関係をプロットするためのサブプロットグリッド。
このオブジェクトは、データセット内の各変数を複数の軸のグリッド内の列と行にマップします。異なる軸レベルのプロット関数を使用して、上三角と下三角に二変量プロットを描画し、各変数の周辺分布を対角線上に表示できます。
pairplot()
を使用すると、1行でいくつかの異なる一般的なプロットを生成できます。より柔軟性が必要な場合は、PairGrid
を使用してください。詳細については、チュートリアルを参照してください。
- __init__(data, *, hue=None, vars=None, x_vars=None, y_vars=None, hue_order=None, palette=None, hue_kws=None, corner=False, diag_sharey=True, height=2.5, aspect=1, layout_pad=0.5, despine=True, dropna=False)#
プロット図とPairGridオブジェクトを初期化します。
- パラメータ:
- dataデータフレーム
各列が変数で、各行が観測値である、整然とした(ロング形式の)データフレーム。
- hue文字列(変数名)
プロットの要素を異なる色にマッピングする
data
内の変数。この変数は、デフォルトのx変数とy変数から除外されます。- vars変数名のリスト
使用する
data
内の変数。指定しない場合は、数値データ型のすべての列が使用されます。- {x, y}_vars変数名のリスト
図の行と列に別々に使用する
data
内の変数。つまり、正方形ではないプロットを作成するためです。- hue_order文字列のリスト
パレット内の色相変数のレベルの順序
- palette辞書またはseabornカラーパレット
hue
変数をマッピングするための色のセット。辞書の場合、キーはhue
変数の値である必要があります。- hue_kwsparam -> 値のマッピングのリストの辞書
他のプロット属性を色相変数のレベル間で変化させるために、プロット呼び出しに挿入する他のキーワード引数(例:散布図のマーカー)。
- cornerブール値
Trueの場合、グリッドの上三角(非対角)に軸を追加せず、「コーナー」プロットにします。
- heightスカラー
各ファセットの高さ(インチ単位)。
- aspectスカラー
アスペクト * 高さが各ファセットの幅(インチ単位)になります。
- layout_padスカラー
軸間のパディング。
fig.tight_layout
に渡されます。- despineブール値
プロットの上部と右部の枠線を削除します。
- dropnaブール値
プロットする前に、データから欠損値を削除します。
例
コンストラクタを呼び出すと、各行と1つの列がデータセットの数値変数に対応する、空白のサブプロットのグリッドが設定されます。
penguins = sns.load_dataset("penguins") g = sns.PairGrid(penguins)
二変量関数を
PairGrid.map()
に渡すと、すべての軸に二変量プロットが描画されます。g = sns.PairGrid(penguins) g.map(sns.scatterplot)
別々の関数を
PairGrid.map_diag()
とPairGrid.map_offdiag()
に渡すと、各変数の周辺分布が対角線上に表示されます。g = sns.PairGrid(penguins) g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot)
プロットの上三角と下三角(そうでなければ冗長)で異なる関数を使用することも可能です。
g = sns.PairGrid(penguins, diag_sharey=False) g.map_upper(sns.scatterplot) g.map_lower(sns.kdeplot) g.map_diag(sns.kdeplot)
あるいは、冗長性を完全に回避することもできます。
g = sns.PairGrid(penguins, diag_sharey=False, corner=True) g.map_lower(sns.scatterplot) g.map_diag(sns.kdeplot)
PairGrid
コンストラクタは、hue
変数を受け入れます。この変数は、それを理解する関数に直接渡されます。g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot) g.add_legend()
ただし、matplotlib関数も渡すことができます。その場合は、内部でgroupbyが実行され、レベルごとに個別のプロットが描画されます。
g = sns.PairGrid(penguins, hue="species") g.map_diag(plt.hist) g.map_offdiag(plt.scatter) g.add_legend()
関数をマッピングする際にデータベクトルを直接渡すことで、追加のセマンティック変数を割り当てることができます。
g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot, size=penguins["sex"]) g.add_legend(title="", adjust_subtitles=True)
数値の色相マッピングを実装できるseaborn関数を使用する場合は、対角軸上の変数のマッピングを無効にする必要があります。
hue
変数は、デフォルトで表示される変数のリストから除外されていることに注意してください。g = sns.PairGrid(penguins, hue="body_mass_g") g.map_diag(sns.histplot, hue=None, color=".3") g.map_offdiag(sns.scatterplot) g.add_legend()
vars
パラメータを使用して、どの変数を使用するかを正確に制御できます。variables = ["body_mass_g", "bill_length_mm", "flipper_length_mm"] g = sns.PairGrid(penguins, hue="body_mass_g", vars=variables) g.map_diag(sns.histplot, hue=None, color=".3") g.map_offdiag(sns.scatterplot) g.add_legend()
プロットは正方形である必要はありません。別々の変数を使用して行と列を定義できます。
x_vars = ["body_mass_g", "bill_length_mm", "bill_depth_mm", "flipper_length_mm"] y_vars = ["body_mass_g"] g = sns.PairGrid(penguins, hue="species", x_vars=x_vars, y_vars=y_vars) g.map_diag(sns.histplot, color=".3") g.map_offdiag(sns.scatterplot) g.add_legend()
対角軸上の複数の分布を解決するためのさまざまなアプローチを検討すると便利です。
g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot, multiple="stack", element="step") g.map_offdiag(sns.scatterplot) g.add_legend()
メソッド
__init__
(data, *[, hue, vars, x_vars, ...])プロット図とPairGridオブジェクトを初期化します。
add_legend
([legend_data, title, ...])凡例を描画し、必要に応じて軸の外側に配置して図のサイズを変更します。
apply
(func, *args, **kwargs)グリッドをユーザー定義関数に渡し、自身を返します。
map
(func, **kwargs)すべてのサブプロットで同じ関数を使用してプロットします。
map_diag
(func, **kwargs)各対角サブプロットに単変量関数でプロットします。
map_lower
(func, **kwargs)下三角サブプロットに二変量関数でプロットします。
map_offdiag
(func, **kwargs)非対角サブプロットに二変量関数でプロットします。
map_upper
(func, **kwargs)上三角サブプロットに二変量関数でプロットします。
pipe
(func, *args, **kwargs)グリッドをユーザー定義関数に渡し、その値を返します。
savefig
(*args, **kwargs)プロットの画像を保存します。
set
(**kwargs)各サブプロット軸に属性を設定します。
tick_params
([axis])目盛り、目盛りラベル、グリッド線を変更します。
tight_layout
(*args, **kwargs)凡例を除く四角形内でfig.tight_layoutを呼び出します。
属性
fig
非推奨:
figure
プロパティを推奨します。figure
グリッドの基になっている
matplotlib.figure.Figure
オブジェクトにアクセスします。legend
matplotlib.legend.Legend
オブジェクト(存在する場合)。