Seaborn.swarmplot() 方法



Seaborn.swarmplot() 方法用於繪製非重疊散點圖,其中一個變數是分類變數。此函式類似於 seaborn.stripplot() 方法,但點的位置會進行調整,以避免僅在分類軸上重疊。

這提供了更好的值表示和分佈,但並不理想用於大量觀測值。圖表的性質看起來像蜂群,因此被稱為 swarmplot()。與 strip plot 類似,seaborn.swarmplot() 方法可以用來補充其他圖表,例如箱線圖或小提琴圖,或者單獨使用。它接受寬格式資料、長格式資料、陣列或向量列表作為輸入。

語法

以下是 seaborn.swarmplot() 方法的語法:

seaborn.swarmplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)

引數

下面解釋了該方法的一些引數。

序號 引數和描述
1 x,y

這些引數接受變數名稱作為輸入,用於繪製長格式資料。

2 data

這是用於繪製圖表的DataFrame。

3 hue

DataFrame中用於繪製圖表的變數名稱。

4 linewidth

此引數接受浮點值,並確定構成圖表中元素的灰色線條的寬度。

5 dodge

此引數接受布林值。如果使用 hue 巢狀,將 True 傳遞給此引數將分離不同 hue 層次的條帶。如果傳遞 False,則每個級別的點將彼此疊加繪製。

6 orient

它接受“h”或“v”值,圖表的方向根據此值確定。

7 color

接受 matplotlib 顏色作為輸入,這決定了所有元素的顏色。

8 size

此引數確定繪製圖中標記的半徑。

載入 seaborn 庫

在繼續繪製圖表之前,讓我們載入 seaborn 庫和資料集。可以使用以下程式碼行載入或匯入 seaborn 庫。

Import seaborn as sns

載入資料集

在本文中,我們將使用 seaborn 庫中內建的泰坦尼克號資料集。可以使用以下命令載入資料集。

titanic=sns.load_dataset("titanic")

以下命令用於檢視資料集中前 5 行。這使我們能夠理解可以使用哪些變數來繪製圖表。

titanic.head()

以下是上述程式碼的輸出。

index,survived,pclass,sex,age,sibsp,parch,fare,embarked,class,who,adult_male,deck,embark_town,alive,alone
0,0,3,male,22.0,1,0,7.25,S,Third,man,true,NaN,Southampton,no,false
1,1,1,female,38.0,1,0,71.2833,C,First,woman,false,C,Cherbourg,yes,false
2,1,3,female,26.0,0,0,7.925,S,Third,woman,false,NaN,Southampton,yes,true

現在我們已經載入了資料集,我們將探討一些示例。

示例 1

在這個示例中,我們將瞭解如何透過將 x、y 和 data 引數傳遞給 seaborn.swarmplot() 方法來繪製簡單的 swarm 圖。我們使用泰坦尼克號資料集來了解此方法的工作原理,因此將泰坦尼克號資料集中的 who 和 age 列分別傳遞給 x、y 引數。可以使用以下程式碼行來實現。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.swarmplot(x="who", y="age", data=titanic)
plt.show()

輸出

獲得的圖表附在下面。

seaborn swarmplot

示例 2

我們將瞭解 seaborn.swarmplot() 方法的 size 引數的用法。此引數接受浮點值作為輸入,它是可選引數。標記的半徑受傳遞給此引數的值影響。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.swarmplot(x="age",data=titanic,y="who",size=10)
plt.show()

輸出

生成的輸出圖表如下所示:

seaborn swarmplot method

正如我們在圖表中看到的,標記的大小已經大大增加,這是因為 size 引數傳遞了值 10,因此標記的半徑為 10。

示例 3

現在,我們將瞭解 hue 對映如何影響生成的圖表/輸出。由於我們使用的是泰坦尼克號資料集,並且它有 4 個分類變數,我們將其中一個傳遞給 x 或 y,另一個傳遞給 hue 引數。在這個示例中,我們將 alive 變數傳遞給 hue 引數。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.swarmplot(x="who", y="age",hue="alive", data=titanic)
plt.show()

輸出

上面的程式碼將獲得如下所示的輸出。

graph output produced

示例 4

在這個示例中,我們將瞭解如何與上面使用的引數一起使用 dodge 引數。此引數接受布林值。如果使用 hue 巢狀,將 True 傳遞給此引數將分離不同 hue 層次的條帶。如果傳遞 False,則每個級別的點將彼此疊加繪製。可以使用以下程式碼行來使用 dodge 引數繪製圖表。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.swarmplot(x="who", y="age", hue="alive",dodge=True,data=titanic)
plt.show()

輸出

上述程式碼行的輸出如下:

dodge parameter
seaborn_categorial_plots_Introduction.htm
廣告
© . All rights reserved.