Python

Python seaborn チュートリアル プロット機能 回帰モデルを可視化 (3)

原文のドキュメントはこちらから。

他の変数に対する条件付け

(2)のプロットは、変数のペアの間の関係を探るための多くの方法を示している。しかし、より興味深い疑問は、「これら2つの変数の間の関係は、第3の変数の関数とどのように変化するか?」ここで、regplot()とlmplot()の違いがある。regplot() は常に単一の関係を示すが、lmplot() は regplot() と FacetGrid を組み合わせて、追加のカテゴリ変数(最大3つ)との相互作用を調べることができる「ファセット」プロットで線形回帰を表示するための簡単なインタフェースを提供する。

関係を分離する最良の方法は、両方のレベルを同じ軸にプロットし、それらを区別するために色を使用することである。

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(color_codes=True)

tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)

plt.show()

色に加えて、異なる散布図マーカーを使用して、白黒の再現性の高いプロットを作成することが可能。また、使用する色を完全にコントロールすることができる。

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(color_codes=True)

tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, markers=["o", "x"], palette="Set1")

plt.show()

別の変数を追加するには、グリッドの行または列に表示される変数の各レベルの複数の”ファセット”を描画することができる。

import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(color_codes=True)

tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip", hue="smoker", col="time", data=tips)

plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(color_codes=True)

tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip", hue="smoker", col="time", row="sex", data=tips)

plt.show()