- Seaborn 教程
- Seaborn - 首頁
- Seaborn - 簡介
- Seaborn - 環境設定
- 匯入資料集和庫
- Seaborn - 圖形美學
- Seaborn - 調色盤
- Seaborn - 直方圖
- Seaborn - 核密度估計
- 視覺化成對關係
- Seaborn - 繪製分類資料
- 觀測值的分佈
- Seaborn - 統計估計
- Seaborn - 繪製寬格式資料
- 多面板分類圖
- Seaborn - 線性關係
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函式參考
- Seaborn - 函式參考
- Seaborn 有用資源
- Seaborn - 快速指南
- Seaborn - 有用資源
- Seaborn - 討論
Seaborn.boxplot() 方法
seaborn.boxplot() 方法用於繪製相對於類別的分佈。此方法以一種能夠比較變數或跨分類變數的不同級別比較資料分佈的方式顯示資料分佈。
傳遞給此方法的輸入可以是各種型別,例如陣列、寬格式資料、長格式資料或向量列表。
語法
以下是 seaborn.boxplot() 方法的語法:
seaborn.boxplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)
引數
下面討論此方法中的一些引數。
| 序號 | 引數和描述 |
|---|---|
| 1 | x,y 這些引數以變數名稱作為輸入,繪製長格式資料。 |
| 2 | data 這是用於繪製圖形的資料框。 |
| 3 | hue 資料框中用於繪製圖形的變數名稱。 |
| 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
我們將瞭解一個可以用來繪製 boxplot() 的簡單快捷方式。無需將資料和 x 作為單獨的引數傳遞,可以將它們組合並作為 x 引數中的單個引數傳遞。
在此示例中,我們將使用泰坦尼克號資料集,並將資料集的 age 列傳遞給 x。可以使用以下程式碼行來執行此操作。
import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxplot(x=titanic["age"])
plt.show()
輸出
以下顯示了上述程式碼行的輸出。
示例 2
現在,我們將瞭解如何透過將 x、y 和 hue 引數傳遞給 seaborn.boxplot() 方法來繪製簡單的箱線圖。由於使用了泰坦尼克號資料集,因此正在考慮 who、fare 和 alive 列。
這裡,boxplot() 是一個分類圖,傳遞用於繪製的列之一需要是分類的,因此在此示例中,x 傳遞了一個分類引數,並且 hue 始終應傳遞一個分類引數。
import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxplot(x="who", y="fare", hue="alive",data=titanic)
plt.show()
輸出
上述程式碼行的輸出如下:
示例 3
seaborn.boxplot() 方法中有許多引數,我們將瞭解另一個名為 linewidth 的引數的工作原理。此引數採用浮點值,並確定構成圖中元素的灰色線條的寬度。
以下程式碼行可用於瞭解 linewidth 引數的工作原理。
import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxplot(x="who", y="fare", hue="embark_town",data=titanic,linewidth=3)
plt.show()
輸出
獲得的輸出如下:
示例 4
Orient 是 seaborn.boxplot() 方法中的一個引數,可用於更改圖形的方向,它採用兩個值:“v”或“h”。在此示例中,我們將瞭解此引數的工作原理。
import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxplot(x="fare", y="who", hue="embark_town",data=titanic,orient="h")
plt.show()
輸出
在上述程式碼行中,方向設定為“h”,即水平方向。因此獲得的輸出如下所示。
要水平方向繪製圖形,需要一個數值型 x 變數,因此在此示例中將 fare 傳遞給 x 變數,並且要將 orient 設定為“v”,則 y 軸上的變數必須是數值型。這就是如何使用 seaborn.boxplot() 方法的 orient 引數。