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