如何使用Seaborn調色盤為箱線圖著色?


Seaborn是一個流行的Python庫,它提供了一個高階介面來建立資訊豐富且美觀的視覺化效果。Seaborn的關鍵特性之一是能夠自定義繪圖的調色盤,允許使用者突出顯示資料的特定方面。在本文中,我們將探討如何有效地使用Seaborn的調色盤為箱線圖著色。

理解箱線圖

在瞭解自定義選項之前,必須對箱線圖有一個基本的瞭解。箱線圖是一種標準化的顯示資料集分佈的方式,提供有關中位數、四分位數和潛在異常值的資訊。它由一個表示四分位距 (IQR) 的框組成,框內有一條線表示中位數。須從框延伸以顯示資料的範圍,而框外的單個點表示異常值。

匯入Seaborn和載入資料

首先,我們需要匯入必要的庫並載入一個要處理的資料集。Seaborn通常匯入為sns,我們可以使用內建資料集“tips”作為我們的示例。

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

建立基本箱線圖

讓我們從使用Seaborn的預設調色盤建立基本箱線圖開始。透過將變數x和y指定為“tips”資料集中的列,我們可以建立一個箱線圖,顯示不同工作日總賬單金額的分佈。生成的繪圖將使用Seaborn的預設調色盤。

示例

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

sns.boxplot(x="day", y="total_bill", data=tips)
plt.show()

輸出

自定義調色盤

Seaborn提供了多種自定義繪圖(包括箱線圖)調色盤的方法。讓我們實現其中一些選項。

使用內建調色盤:Seaborn提供了多個內建調色盤,可以透過color_palette()函式訪問。這些調色盤提供了一系列視覺上吸引人的配色方案。例如,我們可以使用“Blues”調色盤。

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

sns.boxplot(x="day", y="total_bill", data=tips, palette="Blues")
plt.show()

輸出

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

sns.boxplot(x="day", y="total_bill", data=tips, palette="Blues")
plt.show()

使用順序調色盤:順序調色盤非常適合表示連續變化的資料。Seaborn中一個流行的順序調色盤是“viridis”。以下是順序調色盤的實現。透過將palette引數設定為“viridis”,我們建立了一個使用從淺到深的順序調色盤的箱線圖。

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

sns.boxplot(x="day", y="total_bill", data=tips, palette="viridis")
plt.show()

輸出

使用分類調色盤:分類調色盤旨在有效區分不同的類別。其中一個調色盤是“Set3”。讓我們用它為我們的箱線圖著色。透過指定palette="Set3",我們的箱線圖將為每個類別顯示不同的顏色,從而更容易區分工作日。

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

sns.boxplot(x="day", y="total_bill", data=tips, palette="Set3")
plt.show()

輸出

建立自定義調色盤:Seaborn允許使用者透過指定各種格式(例如,RGB、HTML顏色名稱)的顏色列表來建立自定義調色盤。讓我們建立一個包含三種顏色的自定義調色盤。透過將custom_palette列表提供給palette引數,箱線圖將使用列表中指定的顏色按其出現的順序著色。

import seaborn as sns
import matplotlib.pyplot as plt

# Load the "tips" dataset
tips = sns.load_dataset("tips")

custom_palette = ["#FF7F50", "#87CEEB", "#7FFF00"]
sns.boxplot(x="day", y="total_bill", data=tips, palette=custom_palette)
plt.show()

輸出

結論

在本文中,我們討論瞭如何使用seaborn調色盤為箱線圖著色並自定義箱線圖的外觀。我們探索了使用Seaborn的內建調色盤、順序調色盤、分類調色盤,甚至建立自定義調色盤來自定義調色盤的各種方法。透過有效地利用顏色,我們可以增強資料的視覺表示並提高其可解釋性。

更新於: 2023年10月13日

305 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告