1、seaborn的優(yōu)點 2、seaborn的官網(wǎng) 學習某個知識點,最好的東西就是照著官網(wǎng)的提示學習,因為官網(wǎng)里面的知識點,夠完整、夠全面。seaborn的官網(wǎng)鏈接:http://seaborn.
3、seaborn的作者介紹 4、seaborn的縮寫為什么是sns,而不是sbn? sns的使用來自于一個內部笑話,與美劇The West Wing有關。這部劇里有一個人物,名叫Samual Norman Seaborn,首字母簡寫為sns,因此最終簡寫為sns。
5、seaborn與matplotlib的關系? seaborn是matplotlib的更高級的封裝。因此學習seaborn之前,首先要知道m(xù)atplotlib的繪圖原理。
我們知道,使用matplotlib繪圖,需要調節(jié)大量的繪圖參數(shù),需要記憶的東西很多。而seaborn基于matplotlib做了更高級的封裝,使得繪圖更加容易,它不需要了解大量的底層參數(shù),就可以繪制出很多比較精致的圖形。不僅如此,seaborn還兼容numpy、pandas數(shù)據(jù)結構,在組織數(shù)據(jù)上起了很大作用,從而更大程度上的幫助我們完成數(shù)據(jù)可視化。
最關鍵:seaborn是matplotlib的更高級的封裝。也就是說,對于matplotlib的那些調優(yōu)參數(shù)設置,也都可以在使用seaborn繪制圖形之后使用。 ??
6、使用seaborn繪圖的3種方式 plt.style.use(“seaborn”):只是說調用了seaborn的繪圖樣式,并不能真正體現(xiàn)seaborn繪圖的好處。
sns.set():使用了這個方法后,所有之前寫過的matplotlib中的參數(shù)都還原了。因此,像設置中文字體顯示、設置負號的正常顯示,都必須放在sns.set()這句代碼之后。
直接調用seaborn函數(shù)繪圖:這種方式能真正體現(xiàn)seaborn繪圖的優(yōu)勢,也是我們經常使用的繪圖方式。(最常用)
1)plt.style.use(“seaborn”) df = pd.read_excel("data.xlsx" ,sheet_name="數(shù)據(jù)源" ) df1 = df.groupby("品牌" ).agg({"銷售數(shù)量" :np.sum})# 使用matplotlib風格繪圖 plt.bar(x=df1.index,height=df1["銷售數(shù)量" ],width=0.5 ,color="blue" ) plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_1" ,dpi=300 )# 使用seaborn風格繪圖 plt.style.use("seaborn" ) plt.bar(x=df1.index,height=df1["銷售數(shù)量" ],width=0.5 ,color="blue" ) plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_2" ,dpi=300 )
結果如下:
2)sns.set() 這個方法里面有幾個參數(shù),但是在實際中,我們都使用默認值即可,因為默認參數(shù)繪圖就已經很好看啦,并不需要我們特意去設置。
① 常用參數(shù):sns.set(style=, context=, font_scale=) style設置繪圖的樣式。 context一般使用默認樣式即可,不需要我們自己設置。默認是context=“notebook”。 font_scale控制坐標軸的刻度,一般設置為font_scale=1.2即可。② 演示如下
df = pd.read_excel("data.xlsx" ,sheet_name="數(shù)據(jù)源" ) df1 = df.groupby("品牌" ).agg({"銷售數(shù)量" :np.sum})# 使用matplotlib風格繪圖 plt.bar(x=df1.index,height=df1["銷售數(shù)量" ],width=0.5 ,color="blue" ) plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_3" ,dpi=300 )# 使用seaborn風格繪圖 sns.set() plt.rcParams["font.sans-serif" ] = "SimHei" plt.rcParams["axes.unicode_minus" ] = False plt.bar(x=df1.index,height=df1["銷售數(shù)量" ],width=0.5 ,color="blue" ) plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_4" ,dpi=300 )
結果如下:
3)直接調用seaborn函數(shù)繪圖(最常用):seaborn繪圖的優(yōu)勢體現(xiàn) df = pd.read_excel("data.xlsx" ,sheet_name="數(shù)據(jù)源" ) sns.set_style("dark" ) plt.rcParams["font.sans-serif" ] = ["SimHei" ] plt.rcParams["axes.unicode_minus" ] = False # 注意:estimator表示對分組后的銷售數(shù)量求和。默認是求均值。 sns.barplot(x="品牌" ,y="銷售數(shù)量" ,data=df,color="steelblue" ,orient="v" ,estimator=sum) plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_5" ,dpi=300 )
結果如下:
注意: 直接調用seaborn函數(shù)繪圖的好處在這個代碼中有很好的體現(xiàn)。可以看出,如果直接使用matplotlib中的代碼繪圖,需要先對數(shù)據(jù)集進行分組聚合,然后才能繪制最后的圖形。【優(yōu)勢】:直接使用sns.barplot()函數(shù)繪圖,barplot可以直接將 groupby 分組后的結果按照指定的匯總方式進行可視化展示,并不需要我們實現(xiàn)對數(shù)據(jù)進行處理。