Python で Seaborn のペアプロット
Python では、seaborn モジュールを使用してさまざまなタイプのグラフやプロットを作成し、データセットを視覚化します。さまざまな関数がさまざまなタイプのプロットを作成します。データセットを視覚化するには、1つのプロットでは不十分な場合があり、複数のグラフを同時にプロットする必要がある場合があります。pairplot()
関数はこれを助けることができます。
このチュートリアルでは、Python で seaborn モジュールの pairplot()
関数を使用する方法を紹介します。
これは、seaborn の PairGrid
クラスに基づいており、そのタイプのオブジェクトを返します。また、データのすべての数値列を両方の軸にプロットし、さまざまなプロットの行列を表示します。対角線上に均一なグラフがあり、上三角と下三角に異なるプロットがある最終的な図が生成されます。
必要に応じて、pairplot()
関数内の x_vars
、y_vars
、または vars
引数を使用して、プロットする必要のある変数を指定できます。
例えば、
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{
"Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
"Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
"Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
"Product": [
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
],
}
)
sns.pairplot(df)
上記のコードでは、pairplot()
関数の簡単な例を作成します。対角線上にプロットされたさまざまなグラフに注目してください。
いくつかの方法とパラメーターを使用して、最終結果を微調整できます。hue
パラメータを使用して、さまざまなカテゴリをさまざまな色でプロットできます。palette
引数は、これに使用される色を定義できます。すべてのグラフに共通の凡例が追加されています。上記の例にこれを追加して、2つの製品を区別することができます。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{
"Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
"Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
"Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
"Product": [
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
],
}
)
sns.pairplot(df, hue="Product", palette="husl")
また、上下または三角形と対角線にプロットするグラフの種類を制御することもできます。diag_kind
パラメーターは、対角線のプロットを指定するために使用され、kind
パラメーターは残りのプロットを指定するために使用されます。それらの値は、reg
、scatter
、kde
、hist
、またはその他のプロットにすることができます。
例えば、
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{
"Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
"Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
"Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
"Product": [
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
"A",
"A",
"A",
"A",
"B",
"B",
"B",
"B",
],
}
)
sns.pairplot(df, hue="Product", diag_kind="hist", kind="scatter")
対角線上などの個々のプロットをカスタマイズするには、plot_kws
および diag_kws
パラメーターを使用します。必要なカスタマイズを辞書のキーと値のペアとして渡します。height
パラメータを使用して、個々のプロットの高さを変更することもできます。
さらに、PairGrid
クラスのオブジェクトを返し、そのクラスのメソッドを使用して最終的な図をカスタマイズすることを忘れないでください。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn