seaborn繪圖基礎介紹

目錄

  1、seaborn的優點
  2、seaborn的官網
  3、seaborn的作者介紹
  4、seaborn的縮寫爲什麼是sns,而不是sbn?
  5、seaborn與matplotlib的關係?
  6、使用seaborn繪圖的3種方式(seaborn繪圖的優勢體現)

1、seaborn的優點

  • 1、它簡化了複雜數據集的表示;
  • 2、可以輕鬆構建複雜的可視化,簡潔的控制matplotlib圖形樣式與幾個內置主題;
  • 3、seaborn不可以替代matplotlib,而是matplotlib的很好補充;
    在這裏插入圖片描述

2、seaborn的官網

  學習某個知識點,最好的東西就是照着官網的提示學習,因爲官網裏面的知識點,夠完整、夠全面。seaborn的官網鏈接:http://seaborn.pydata.org

3、seaborn的作者介紹

在這裏插入圖片描述

4、seaborn的縮寫爲什麼是sns,而不是sbn?

  sns的使用來自於一個內部笑話,與美劇The West Wing有關。這部劇裏有一個人物,名叫Samual Norman Seaborn,首字母簡寫爲sns,因此最終簡寫爲sns。

5、seaborn與matplotlib的關係?

  seaborn是matplotlib的更高級的封裝。因此學習seaborn之前,首先要知道matplotlib的繪圖原理。matplotlib的繪圖原理可以參考我之前的文章:https://blog.csdn.net/weixin_41261833/article/details/104299701。
  我們知道,使用matplotlib繪圖,需要調節大量的繪圖參數,需要記憶的東西很多。而seaborn基於matplotlib做了更高級的封裝,使得繪圖更加容易,它不需要了解大量的底層參數,就可以繪製出很多比較精緻的圖形。不僅如此,seaborn還兼容numpy、pandas數據結構,在組織數據上起了很大作用,從而更大程度上的幫助我們完成數據可視化。
  最關鍵:seaborn是matplotlib的更高級的封裝。也就是說,對於matplotlib的那些調優參數設置,也都可以在使用seaborn繪製圖形之後使用。
  

6、使用seaborn繪圖的3種方式

  • plt.style.use(“seaborn”):只是說調用了seaborn的繪圖樣式,並不能真正體現seaborn繪圖的好處。
  • sns.set():使用了這個方法後,所有之前寫過的matplotlib中的參數都還原了。因此,像設置中文字體顯示、設置負號的正常顯示,都必須放在sns.set()這句代碼之後。
  • 直接調用seaborn函數繪圖:這種方式能真正體現seaborn繪圖的優勢,也是我們經常使用的繪圖方式。(最常用)
1)plt.style.use(“seaborn”)
df = pd.read_excel("data.xlsx",sheet_name="數據源")
df1 = df.groupby("品牌").agg({"銷售數量":np.sum})

# 使用matplotlib風格繪圖
plt.bar(x=df1.index,height=df1["銷售數量"],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["銷售數量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_2",dpi=300)

結果如下:
在這裏插入圖片描述

2)sns.set()

  這個方法裏面有幾個參數,但是在實際中,我們都使用默認值即可,因爲默認參數繪圖就已經很好看啦,並不需要我們特意去設置。

① 常用參數:sns.set(style=, context=, font_scale=)
  • style設置繪圖的樣式。
  • context一般使用默認樣式即可,不需要我們自己設置。默認是context=“notebook”。
  • font_scale控制座標軸的刻度,一般設置爲font_scale=1.2即可。
② 演示如下
df = pd.read_excel("data.xlsx",sheet_name="數據源")
df1 = df.groupby("品牌").agg({"銷售數量":np.sum})

# 使用matplotlib風格繪圖
plt.bar(x=df1.index,height=df1["銷售數量"],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["銷售數量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_4",dpi=300)

結果如下:
在這裏插入圖片描述

3)直接調用seaborn函數繪圖(最常用):seaborn繪圖的優勢體現
df = pd.read_excel("data.xlsx",sheet_name="數據源")

sns.set_style("dark")
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
# 注意:estimator表示對分組後的銷售數量求和。默認是求均值。
sns.barplot(x="品牌",y="銷售數量",data=df,color="steelblue",orient="v",estimator=sum)
plt.savefig(r"G:\6Tipdm\2 python繪圖\seaborn\picture\seaborn繪圖方式_5",dpi=300)

結果如下:
在這裏插入圖片描述
注意:直接調用seaborn函數繪圖的好處在這個代碼中有很好的體現。可以看出,如果直接使用matplotlib中的代碼繪圖,需要先對數據集進行分組聚合,然後才能繪製最後的圖形。【優勢】:直接使用sns.barplot()函數繪圖,barplot可以直接將 groupby 分組後的結果按照指定的彙總方式進行可視化展示,並不需要我們實現對數據進行處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章