Seaborn-ファセットグリッド

中次元データを探索するための便利なアプローチは、データセットの異なるサブセットに同じプロットの複数のインスタンスを描画することです。

この手法は、一般に「格子」または「トレリス」プロットと呼ばれ、「小さな倍数」の概念に関連しています。

これらの機能を使用するには、データがPandasDataFrameにある必要があります。

データサブセットの小さな倍数のプロット

前の章では、FacetGridクラスが1つの変数の分布と、複数のパネルを使用してデータセットのサブセット内で個別に複数の変数間の関係を視覚化するのに役立つFacetGridの例を見てきました。

FacetGridは、最大3つの次元(行、列、色相)で描画できます。最初の2つは、結果の軸の配列と明らかに対応しています。色相変数は、深さ軸に沿った3番目の次元と考えてください。ここでは、さまざまなレベルがさまざまな色でプロットされます。

FacetGrid オブジェクトは、入力としてデータフレームを受け取り、グリッドの行、列、または色相の次元を形成する変数の名前を取ります。

変数はカテゴリカルである必要があり、変数の各レベルのデータは、その軸に沿ったファセットに使用されます。

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
plt.show()

出力

上記の例では、 facetgrid それらに何も描画しないオブジェクト。

このグリッド上のデータを視覚化するための主なアプローチは、 FacetGrid.map()方法。ヒストグラムを使用して、これらのサブセットのそれぞれにおけるヒントの分布を見てみましょう。

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
g.map(plt.hist, "tip")
plt.show()

出力

パラメータcolのため、プロットの数は複数です。前の章でcolパラメータについて説明しました。

リレーショナルプロットを作成するには、複数の変数名を渡します。

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "sex", hue = "smoker")
g.map(plt.scatter, "total_bill", "tip")
plt.show()

出力