數(shù)據(jù)分析與圖形化-seaborn作圖總結(jié)

python中常用的數(shù)據(jù)圖形化庫(kù)有matplotlib,seaborn,plotnine以及pandas自帶的圖形化功能等(目前我接觸的)。在這幾種圖形化中,pandas自帶的庫(kù)圖形簡(jiǎn)單,matplotlib需要調(diào)試的參數(shù)過(guò)多,seaborn基于matplotlib,但是學(xué)習(xí)難度遠(yuǎn)小于matplotlib,可以作為學(xué)習(xí)的首選圖形化庫(kù)。
以下為我個(gè)人常用的幾種圖形

基本圖形

1.條形圖

seaborn輸入?yún)?shù)基本所有的圖形輸入類型是一致的,設(shè)置輸入的橫坐標(biāo)的數(shù)據(jù)即x=“列名”,y=列名,用于分類的數(shù)據(jù)hue=列名,輸入的數(shù)據(jù)集,及一些其他的參數(shù)。

#barplot
sns.barplot(x="XXX",y="YYY",hue="class",data=dx,palette="gist_gray_r")
圖片.png

palette為seaborn可以選擇的調(diào)色板。有多種配色選擇可以用來(lái)選擇。

2.箱線圖

箱線圖與小提琴圖一樣,適合展示數(shù)據(jù)的整體分布,與數(shù)據(jù)的集中程度,箱線圖還包括數(shù)據(jù)的上線四分位線,異常值等等,也可以用來(lái)比較兩組數(shù)據(jù)整體的高低等。

#boxplot
sns.boxplot(x="xxx",y="YYY",hue="class",data=dx,pallette="gist_gray_r")
圖片.png

在數(shù)據(jù)集中數(shù)據(jù)較多的情況下,還可以選擇sns.boxenplot用來(lái)展示數(shù)據(jù)分布,可以較為直觀的整體數(shù)據(jù)分布。


圖片.png

ticks

日常使用boxplot比較多,對(duì)于boxplot,有以下幾點(diǎn)小小的總結(jié):

  • 對(duì)于seaborn中文顯示的問(wèn)題
    seaborn是基于matplotlib包的圖形展示包,因而可以使用matplotlib設(shè)置為展示中文的模式,如下圖所示:
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解決中文顯示問(wèn)題-設(shè)置字體為黑體
plt.rcParams['axes.unicode_minus'] = False  # 解決保存圖像是負(fù)號(hào)'-'顯示為方塊的
  • 個(gè)性化設(shè)置box圖形的底色和箱線的顏色
    某天的個(gè)性需求,將boxplot只顯示上下四分位線,中位線,與swarmplot結(jié)果,同時(shí)需要講邊框的top和right隱去??梢酝ㄟ^(guò)以下的來(lái)操作
g1 = sns.boxplot(x="class",y="PG%",data=x1)
for x in g1.artists:
    x.set_facecolor('white')
    x.set_edgecolor('white')
g1.set(xlabel="")
g1.spines['right'].set_visible(False)
g1.spines['top'].set_visible(False) 

最后得到圖形如下所示,顯得比較簡(jiǎn)單直接。


圖片.png
  • 圖形展示風(fēng)格設(shè)置
    searborn中有5種作圖風(fēng)格可以供選擇,分別為white, dark, whitegrid, darkgrid, ticks五種(可以參考seaborn style,可以通過(guò)以下語(yǔ)句設(shè)置
sns.set_style("white")

seaborn中只有5個(gè)風(fēng)格可供選擇,而在matplotlib中則有更多的作圖風(fēng)格可以供我們選擇,我們可以使用以上語(yǔ)句選擇需要使用的風(fēng)格(26種)具體可以參考.
matplotlib style

3.小提琴圖

小提琴圖是核密度圖與數(shù)據(jù)分布圖的結(jié)合的圖形,表達(dá)圖形含義與箱線圖類似,可以較為直觀的展示數(shù)據(jù)的分布。

# violinplot
sns.violinplot(x="XXX",y="YYY",hue="class",data=dx)
圖片.png

其他

此外還有一些其他的圖形較為常用,swarmplot(簇狀散點(diǎn)圖),stripplot(分類散點(diǎn)圖),scatterplot(散點(diǎn)圖),lineplot(連線圖),lmplot(擬合回歸線圖,可以選擇回歸線的冪次,如二次回歸或者三次回歸等)。catplot(以某一列為分類信息,分成多個(gè)圖展示數(shù)據(jù),可以選擇的又boxplot等)。

reference

seaborn style
matplotlib style

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容