想不到大家都這么喜歡用python給女朋友挑鉆石,所以我又寫了個(gè)續(xù)。
如果看過之前一篇用python給女朋友挑鉆石的文章,那么可以直接從箱線圖開始讀。
seaborn是matplotlib的補(bǔ)充包,提供了一系列高顏值的figure,并且集成了多種在線數(shù)據(jù)集,通過sns.load_dataset()
進(jìn)行調(diào)用,可供學(xué)習(xí),如果網(wǎng)絡(luò)不穩(wěn)定,可下載到本地,然后在調(diào)用的時(shí)候使用把cache
設(shè)為True
。
其中,diamonds
數(shù)據(jù)集中包含了鉆石數(shù)據(jù),總計(jì)十項(xiàng),分別是[重量/克拉]carat
、切割水平cut
、顏色color
、透明度clarity
、深度depth
、table
、價(jià)格price
以及x
、y
、z
方向的尺寸。
畫圖第一步就是導(dǎo)入包和數(shù)據(jù)。
import seaborn as sns import matplotlib.pyplot as plt # 本地加載數(shù)據(jù)集 dia = sns.load_dataset("diamonds",data_home="seaborn-data", cache=True) # 以上幾行代碼后面不再重復(fù)書寫
箱線圖
現(xiàn)在我們想知道Premium, Fair, Very Good, Good, Ideal這五種切割方式所對(duì)應(yīng)的價(jià)格區(qū)間,那么最直接的想法是做一個(gè)箱線圖,就類似K線那種圖。
這個(gè)圖中,箱和線描述了五個(gè)統(tǒng)計(jì)量:最小非異常值、第一四分位數(shù)(25%)、中位數(shù)、第三四分位數(shù)(75%)以及非異常最大值。而最大值上面的那些點(diǎn),則為異常值。可見,超過1.5萬刀的鉆石屬于異類。
>>> sns.boxplot(x="cut",y="price",data=dia,color="lightblue",fliersize=0.25) >>> plt.show()
其中,fliersize
表示異常值的尺寸。
增強(qiáng)箱線圖
箱線圖盡管已經(jīng)可以描述一定的分布特性,但是還不夠,畢竟只有5個(gè)統(tǒng)計(jì)量。
sns中提供了增強(qiáng)版的箱線圖:boxenplot
在這個(gè)圖中,將價(jià)格區(qū)間進(jìn)行了劃分,每個(gè)價(jià)格區(qū)間中,箱子越寬則代表樣本越多。
sns.boxenplot(x="cut",y="price",data=dia, palette="ch:rot=-.5,d=.3_r") plt.show()
小提琴圖
如果想再細(xì)致一點(diǎn),那么就得用小提琴圖了
sns.violinplot(x="cut",y="price",data=dia) sns.despine(left=True)
這樣一看,切割最好的鉆石,價(jià)格區(qū)間竟然以1000左右為主,盡管離譜,但也很真實(shí)了。
以上就是Python編程matplotlib繪圖挑鉆石seaborn小提琴和箱線圖的詳細(xì)內(nèi)容,更多關(guān)于matplotlib挑鉆石seaborn小提琴和箱線圖的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!
原文鏈接:https://blog.csdn.net/m0_37816922/article/details/120919056