如何將預設的 matplotlib 繪圖更改為 seaborn 繪圖?


將預設的matplotlib繪圖設定更改為Seaborn涉及修改預設繪圖引數以匹配Seaborn提供的樣式和美學。這可以透過調整各種元素來實現,例如顏色調色盤、網格線、字型樣式和繪圖主題。以下是如何詳細更改預設matplotlib繪圖到Seaborn繪圖的分步指南。

匯入必要的庫

首先,匯入所需的庫,例如用於建立繪圖的'matplotlib.pyplot'和用於應用Seaborn樣式和美學的'seaborn'。以下是匯入庫的程式碼。

import matplotlib.pyplot as plt
import seaborn as sns

應用Seaborn樣式

要將預設繪圖設定更改為Seaborn,請使用'set()'函式應用Seaborn樣式。這將修改'matplotlib'的預設引數以匹配Seaborn樣式。

sns.set()

自定義顏色調色盤

Seaborn提供了多種顏色調色盤,可用於自定義繪圖的顏色方案。我們可以從各種內建調色盤中選擇,或者建立自己的調色盤,並且要設定特定的顏色調色盤,我們必須使用'set_palette()'函式。

sns.set_palette("color_palette_name")

將'"color_palette_name"'替換為所需的調色盤名稱,例如'"deep"'、'"pastel"'、'"dark"'或任何其他可用的調色盤。

自定義網格線和軸

Seaborn提供了自定義網格線和軸的選項。要刪除網格線,請使用'despine()'函式。預設情況下,它會刪除頂部和右側的脊柱。要刪除所有脊柱,請使用以下程式碼

sns.despine()

要自定義軸,我們可以修改諸如標籤、刻度標記及其外觀之類的屬性。例如,要為x軸和y軸設定自定義標籤,請分別使用'xlabel()'和'ylabel()'函式。

plt.xlabel("X-axis label")
plt.ylabel("Y-axis label")

我們可以進一步使用'xticks()'和'yticks()'函式自定義刻度標記及其外觀。

plt.xticks([0, 1, 2, 3, 4])
plt.yticks([0, 1, 2, 3, 4])

自定義字型和文字

Seaborn允許我們自定義繪圖的字型和文字屬性。要更改繪圖示題、標籤和註釋的字型樣式和大小,請使用'title()'、'xlabel()'、'ylabel()'和'text()'函式。

plt.title("Plot Title", fontweight="bold", fontsize=12)
plt.xlabel("X-axis Label", fontsize=10)
plt.ylabel("Y-axis Label", fontsize=10)
plt.text(x, y, "Annotation Text", fontsize=8)

'fontweight'、'fontsize'和'fontsize'引數中的值替換為我們所需的值。

自定義繪圖主題

Seaborn提供了不同的繪圖主題,可以應用於更改繪圖的整體外觀。您可以從'"darkgrid"'、'"whitegrid"'、'"dark"'、'"white"'或'"ticks"'等選項中選擇。要應用主題,請使用'set_style()'函式。

sns.set_style("theme_name")

將'"theme_name"'替換為所需的主題名稱。

建立並顯示繪圖

在將繪圖設定自定義為Seaborn樣式後,使用'matplotlib'函式(例如'plot()'、'scatter()'或'bar()')建立我們的繪圖。一旦我們的繪圖準備就緒,請使用'plt.show()'顯示繪圖。

plt.plot(x, y)
plt.show()

透過結合上面提到的所有步驟,我們可以將預設的matplotlib繪圖更改為Seaborn繪圖,應用Seaborn的樣式、顏色調色盤、網格線、字型樣式和繪圖主題。

示例

import matplotlib.pyplot as plt
import seaborn as sns
x = [0, 1, 2, 3, 4]
y = [0, 1, 2, 3, 4]
sns.set()
sns.set_palette("deep")
sns.despine()
plt.xticks([0, 1, 2, 3, 4])
plt.yticks([0, 1, 2, 3, 4])
plt.title("Plot Title", fontweight="bold", fontsize=12)
plt.xlabel("X-axis Label", fontsize=10)
plt.ylabel("Y-axis Label", fontsize=10)
sns.set_style("darkgrid")
plt.plot(x, y)
plt.show()

輸出

更新於: 2023年8月2日

975 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.