- Seaborn 教程
- Seaborn - 首頁
- Seaborn - 簡介
- Seaborn - 環境配置
- 匯入資料集和庫
- Seaborn - 圖表美化
- Seaborn - 調色盤
- Seaborn - 直方圖
- Seaborn - 核密度估計
- 視覺化成對關係
- Seaborn - 繪製分類資料
- 觀測值的分佈
- Seaborn - 統計估計
- Seaborn - 繪製寬格式資料
- 多面板分類圖
- Seaborn - 線性關係
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函式參考
- Seaborn - 函式參考
- Seaborn 有用資源
- Seaborn - 快速指南
- Seaborn - 有用資源
- Seaborn - 討論
Seaborn.countplot() 方法
Seaborn.countplot() 方法用於顯示資料集中每個區間中分類觀測值的計數。與定量變數相反,計數圖類似於對分類變數的直方圖。您可以比較巢狀變數的計數,因為基本 API 和設定與 barplot() 的相同。
countplot() 方法接受多種形式的輸入資料,例如寬格式資料、長格式資料、陣列或向量列表。
語法
以下是 seaborn.countplot() 方法的語法:
seaborn.countplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)
引數
seaborn.countplot() 方法的一些引數如下:
| 序號 | 名稱和描述 |
|---|---|
| 1 | x,y 這些引數接受變數名稱作為輸入,用於繪製長格式資料。 |
| 2 | data 這是用於繪製圖形的資料框。 |
| 3 | hue 資料框中用於繪製圖形的變數名稱。 |
| 4 | linewidth 此引數接受浮點值,並確定構成繪圖中元素的灰色線條的寬度。 |
| 5 | dodge 此引數接受布林值。如果我們使用 hue 巢狀,則將 true 傳遞給此引數將分離不同 hue 級別對應的條帶。如果傳遞 False,則每個級別的點將繪製在彼此之上。 |
| 6 | orient 它接受值“h”或“v”,圖形的方向由它確定。 |
| 7 | color 接受 matplotlib 顏色作為輸入,這決定了所有元素的顏色。 |
| 8 | palette 此引數指定不同 hue 對映的顏色。 |
| 9 | saturation 接受浮點值,繪製顏色的原始飽和度的比例由該值確定。 |
在繼續繪製圖表之前,讓我們載入 seaborn 庫和資料集。
載入 seaborn 庫
要載入或匯入 seaborn 庫,可以使用以下程式碼行。
Import seaborn as sns
載入資料集
在本文中,我們將使用 seaborn 庫中內建的 Tips 資料集。可以使用以下命令載入資料集。
tips=sns.load_dataset("tips")
以下命令用於檢視資料集中前 5 行。這使我們能夠了解可以使用哪些變數來繪製圖形。
tips.head()
以下是上述程式碼的輸出。
index,total_bill,tip,sex,smoker,day,time,size 0,16.99,1.01,Female,No,Sun,Dinner,2 1,10.34,1.66,Male,No,Sun,Dinner,3 2,21.01,3.5,Male,No,Sun,Dinner,3 3,23.68,3.31,Male,No,Sun,Dinner,2 4,24.59,3.61,Female,No,Sun,Dinner,4
現在我們已經載入了資料,我們將繼續繪製資料。
示例 1
要繪製簡單的計數圖,我們只需要將資料集和一個變數傳遞給方法的 x 或 y 引數。在本例中,我們將首先只傳遞 y 引數,然後傳遞 x 引數。
當您只想傳遞 y 引數時,可以使用以下程式碼行。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="time", data=tips)
plt.show()
輸出
以下是可以看到的上述程式碼行的輸出:
當您只想傳遞 x 引數時,可以使用以下程式碼行。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(x="time", data=tips)
plt.show()
產生的輸出如下:
示例 2
在此示例中,我們將與 x 或 y 引數一起傳遞 hue 引數,並觀察生成的圖形差異。我們在本文中使用 tips 資料集,由於 hue 需要分類變數,因此將變數 sex 傳遞給它,y 引數也需要分類變數,因為 countplot 是一個分類圖,如果 xy 引數中的任何一個是分類的,它就會繪製圖形。可以使用以下程式碼繪製所需的圖形。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="time", hue="sex",data=tips)
plt.show()
輸出
獲得的輸出如下:
示例 3
現在,我們將看到 edgecolor、facecolor 和 linewidth 引數的用法。通常,所有這些引數都組合在一起以獲得所需顏色和外觀的圖形。
edge color 是一個特殊引數,它接受值 matplotlib 顏色或“灰色”。它是一個可選引數。圍繞每個點的線條的色調由此引數確定。如果傳遞“灰色”,則用於點主體配色方案將決定亮度。
Facecolor 引數確定繪圖中元素的背景顏色。linewidth 引數接受浮點值,並確定構成繪圖中元素的灰色線條的寬度。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="sex",edgecolor=sns.color_palette("dark", 3),facecolor=(0,0,0,0),linewidth=5,data=tips)
plt.show()
輸出
獲得的輸出如下:
由於facecolor 初始化為零,因此繪圖中的背景為空。