首頁(yè)人工智能技術(shù)資訊正文

怎樣使用striplot()函數(shù)繪制類別散點(diǎn)圖?

更新時(shí)間:2023-08-29 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

數(shù)據(jù)集中的數(shù)據(jù)類型有很多種,除了連續(xù)的特征變量之外,最常見(jiàn)的就是類別型的數(shù)據(jù)了,比如人的性別、學(xué)歷、愛(ài)好等,這些數(shù)據(jù)類型都不能用連續(xù)的變量來(lái)表示,而是用分類的數(shù)據(jù)來(lái)表示。 Seaborn針對(duì)分類數(shù)據(jù)提供了專門(mén)的可視化函數(shù),這些函數(shù)大致可以分為如下三種:

分類數(shù)據(jù)散點(diǎn)圖: swarmplot()與 stripplot()。

類數(shù)據(jù)的分布圖: boxplot() 與 violinplot()。

分類數(shù)據(jù)的統(tǒng)計(jì)估算圖:barplot() 與 pointplot()。

下面使用stripplot()來(lái)畫(huà)類別散點(diǎn)圖,stripplot()函數(shù)的語(yǔ)法格式如下。

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è)為T(mén)ue使用默認(rèn)值。

為了讓大家更好地理解,接下來(lái),通過(guò) 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é)果如下圖所示。
1693287362134_圖1.png

從上圖中可以看出,圖表中的橫坐標(biāo)是分類的數(shù)據(jù),而且一些數(shù)據(jù)點(diǎn)會(huì)互相重疊,不易于觀察。為了解決這個(gè)問(wèn)題,可以在調(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é)果如下圖所示。
1693291820264_運(yùn)行結(jié)果.png

除此之外,還可調(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é)果如圖所示。

1693292114132_圖.png

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!