多個 Seaborn 圖

Manav Narula 2024年2月15日
  1. 使用 seaborn.FacetGrid() 繪製多個 Seaborn 圖
  2. 使用 seaborn.PairGrid() 繪製多個 Seaborn 圖
  3. 在 Python 中使用 seaborn.pairplot() 繪製多個 Seaborn 圖
多個 Seaborn 圖

在本教程中,我們將討論如何在 seaborn 模組中繪製多個圖形。

使用 seaborn.FacetGrid() 繪製多個 Seaborn 圖

FacetGrid() 類用於視覺化資料分佈與其他資料子集之間的關係,並可用於為多個圖建立網格。

下面的程式碼展示瞭如何使用這個函式。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price": [7, 1, 5, 6, 3, 10, 5, 8],
        "Product": [1, 1, 1, 1, 2, 2, 2, 2],
        "Day": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

g = sns.FacetGrid(df, col="Product")
g.map(sns.lineplot, "Day", "Price")

Seaborn 多個子圖與 seaborn.FacetGrid() 函式

在為多個圖定製網格後,我們在資料之間繪製了 lineplot()。應該注意的是,像 relplot()lmplot()catplot() 這樣的不同 seaborn 圖預設使用這個物件。

使用 seaborn.PairGrid() 繪製多個 Seaborn 圖

此函式與 FacetGrid() 類非常相似。它需要一個 DataFrame 並將每一列繪製到網格的列和行,繪製多個軸。我們可以在這裡使用 hue 引數來處理分類資料,每種顏色代表不同的類別。

下面的例子將解釋它的使用。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price": [7, 1, 5, 6, 3, 10, 5, 8],
        "Product": [1, 1, 1, 1, 2, 2, 2, 2],
        "Day": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

g = sns.PairGrid(df, hue="Product")
g.map(sns.scatterplot)

Seaborn 多個子圖與 seaborn.PairGrid() 函式

在上面的程式碼中,我們使用 DataFrame 並繪製變數之間的 scatterplot()

在 Python 中使用 seaborn.pairplot() 繪製多個 Seaborn 圖

它用於繪製資料集列之間的成對分佈。它還在兩個軸上繪製 DataFrame 的所有列,這些列顯示了顯示不同型別圖形的圖矩陣,類似於 PairGrid() 類。此處顯示了不同型別的圖。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price": [7, 1, 5, 6, 3, 10, 5, 8],
        "Product": [1, 1, 1, 1, 2, 2, 2, 2],
        "Day": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

g = sns.pairplot(df, hue="Product")

plt.show()

Seaborn 多個子圖與 seaborn.pairplot() 函式

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

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