更新時間:2023-08-29 來源:黑馬程序員 瀏覽量:
數據集中的數據類型有很多種,除了連續(xù)的特征變量之外,最常見的就是類別型的數據了,比如人的性別、學歷、愛好等,這些數據類型都不能用連續(xù)的變量來表示,而是用分類的數據來表示。 Seaborn針對分類數據提供了專門的可視化函數,這些函數大致可以分為如下三種:
分類數據散點圖: swarmplot()與 stripplot()。
類數據的分布圖: boxplot() 與 violinplot()。
分類數據的統(tǒng)計估算圖:barplot() 與 pointplot()。
下面使用stripplot()來畫類別散點圖,stripplot()函數的語法格式如下。
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False)
上述函數中常用參數的含義如下
(1) x,y,hue:用于繪制長格式數據的輸入。
(2) data:用于繪制的數據集。如果x和y不存在,則它將作為寬格式,否則將作為長格式。
(3) jitter:表示抖動的程度(僅沿類別軸)。當很多數據點重疊時,可以指定抖動的數量或者設為Tue使用默認值。
為了讓大家更好地理解,接下來,通過 stripplot()函數繪制一個散點圖,示例代碼如下。
# 獲取tips數據 tips = sns.load_dataset("tips") sns.stripplot(x="day", y="total_bill", data=tips)
運行結果如下圖所示。
從上圖中可以看出,圖表中的橫坐標是分類的數據,而且一些數據點會互相重疊,不易于觀察。為了解決這個問題,可以在調用striplot()函數時傳入jitter參數,以調整橫坐標的位置,改后的示例代碼如下。
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)
運行結果如下圖所示。
除此之外,還可調用 swarmplot0函數繪制散點圖,該函數的好處是所有的數據點都不會重疊,可以很清晰地觀察到數據的分布情況,示例代碼如下。
sns.swarmplot(x="day", y="total_bill", data=tips)
運行結果如圖所示。