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ブール値

プロットする前に、データから欠損値を削除します。

関連項目

pairplot

PairGridの一般的な使用方法を簡単に描画します。

FacetGrid

条件付き関係をプロットするためのサブプロットグリッド。

コンストラクタを呼び出すと、各行と1つの列がデータセットの数値変数に対応する、空白のサブプロットのグリッドが設定されます。

penguins = sns.load_dataset("penguins")
g = sns.PairGrid(penguins)
../_images/PairGrid_1_0.png

二変量関数をPairGrid.map()に渡すと、すべての軸に二変量プロットが描画されます。

g = sns.PairGrid(penguins)
g.map(sns.scatterplot)
../_images/PairGrid_3_0.png

別々の関数をPairGrid.map_diag()PairGrid.map_offdiag()に渡すと、各変数の周辺分布が対角線上に表示されます。

g = sns.PairGrid(penguins)
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
../_images/PairGrid_5_0.png

プロットの上三角と下三角(そうでなければ冗長)で異なる関数を使用することも可能です。

g = sns.PairGrid(penguins, diag_sharey=False)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_7_0.png

あるいは、冗長性を完全に回避することもできます。

g = sns.PairGrid(penguins, diag_sharey=False, corner=True)
g.map_lower(sns.scatterplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_9_0.png

PairGridコンストラクタは、hue変数を受け入れます。この変数は、それを理解する関数に直接渡されます。

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_11_0.png

ただし、matplotlib関数も渡すことができます。その場合は、内部でgroupbyが実行され、レベルごとに個別のプロットが描画されます。

g = sns.PairGrid(penguins, hue="species")
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter)
g.add_legend()
../_images/PairGrid_13_0.png

関数をマッピングする際にデータベクトルを直接渡すことで、追加のセマンティック変数を割り当てることができます。

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)
../_images/PairGrid_15_0.png

数値の色相マッピングを実装できる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()
../_images/PairGrid_17_0.png

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()
../_images/PairGrid_19_0.png

プロットは正方形である必要はありません。別々の変数を使用して行と列を定義できます。

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()
../_images/PairGrid_21_0.png

対角軸上の複数の分布を解決するためのさまざまなアプローチを検討すると便利です。

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot, multiple="stack", element="step")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_23_0.png

メソッド

__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オブジェクト(存在する場合)。