想要洞察資料的價值,除了可以使用像是Power BI或Tableau等市面上的產品,來製作視覺化的圖表之外,Python生態系也有提供資料視覺化圖表的套件,其中之一就是Seaborn套件,讓開發人員能夠透過寫程式的方式來客製化建立資料視覺化圖表,這篇文章就以Kaggle網站的線上銷售資料集(Online Sales Data)為例,簡單上手Seaborn套件的使用方式。
- 什麼是Seaborn?
- Seaborn安裝方法
- Seaborn連結CSV資料集
- Seaborn建立資料視覺化圖表
一、什麼是Seaborn?
Seaborn是以Matplotlib為基礎建構的高階繪圖套件,透過封裝的方式,簡化圖表的設定語法,提升輸出的視覺化美感,並且支援結合Pandas資料分析套件,讓使用者能夠快速產製精美的資料視覺化圖表。
二、Seaborn安裝方法
安裝Seaborn套件非常簡單,開啟命令提示字元,利用pip指令就可以進行安裝,如下:
$ pip install seaborn
三、Seaborn連結CSV資料集
Seaborn套件安裝好之後,就可以開啟專案引用Pandas模組來讀取資料集,還有Seaborn、Matplotlib模組來建立圖表,如下範例:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt
接下來,利用Pandas模組來讀取Kaggle網站的線上銷售資料集(Online Sales Data),如下範例第7行:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 讀取資料集 onlineSalesData_df = pd.read_csv('Online Sales Data.csv')
四、Seaborn建立資料視覺化圖表
有了資料集之後,使用Matplotlib的pyplot模組來設定圖表的大小,如下範例第10行:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 讀取資料集 onlineSalesData_df = pd.read_csv('Online Sales Data.csv') # 設定圖表大小 plt.figure(figsize=(9, 5)) #(長,寬)
假設我們要用Seaborn套件來製作直條圖,就可以呼叫barplot()方法,並且進行圖表的設定,如下範例第12~17行:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 讀取資料集 onlineSalesData_df = pd.read_csv('Online Sales Data.csv') # 設定圖表大小 plt.figure(figsize=(9, 5)) ax = sns.barplot(data=onlineSalesData_df, #資料來源 x='Product Category', # X軸的資料欄位 y='Total Revenue', # Y軸的資料欄位 hue='Product Category', #變量欄位 palette='colorblind', # 圖表的顏色主題Theme errorbar=None)
其中,最常設定的圖表屬性包含:
- data:Seaborn圖表的資料來源,可以是Pandas DataFrame類型的資料。
- x:Seaborn圖表的X軸的資料欄位。
- y:Seaborn圖表的Y軸的資料欄位。
- hue:Seaborn圖表的變量欄位,也就是區分不同資料的欄位,以此為例就是產品類別欄位。
- palette:Seaborn圖表的顏色主題,更多的主題可以參考Seaborn的官方文件。
- errorbar:誤差條。
如果想要在Seaborn長條圖上顯示相對應的欄位資料,可以透過For迴圈來設定長條圖的標籤,如下範例第20~21行:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 讀取資料集 onlineSalesData_df = pd.read_csv('Online Sales Data.csv') # 設定圖表大小 plt.figure(figsize=(9, 5)) ax = sns.barplot(data=onlineSalesData_df, #資料來源 x='Product Category', # X軸的資料欄位 y='Total Revenue', # Y軸的資料欄位 hue='Product Category', #變量欄位 palette='colorblind', # 圖表的顏色主題Theme errorbar=None) # 顯示欄位資料 for i in ax.containers: ax.bar_label(i,)
最後,利用pyplot設定Seaborn圖表的X、Y軸標籤,並且呼叫show()方法顯示資料視覺化圖表,如下範例第23~26行:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 讀取資料集 onlineSalesData_df = pd.read_csv('Online Sales Data.csv') # 設定圖表大小 plt.figure(figsize=(9, 5)) ax = sns.barplot(data=onlineSalesData_df, #資料來源 x='Product Category', # X軸的資料欄位 y='Total Revenue', # Y軸的資料欄位 hue='Product Category', #變量欄位 palette='colorblind', # 圖表的顏色主題Theme errorbar=None) # 顯示資料標籤 for i in ax.containers: ax.bar_label(i,) plt.xlabel('Product Category') plt.ylabel('Total Revenue') plt.show()
執行結果
有了資料視覺化圖表,就可以很容易看出線上每種產品類別的銷售營收。幫助我們後續進行商業上的決策。
五、小結
Seaborn透過封裝的方式,讓建立圖表的方法更直覺,並且能夠利用寫程式的方式來與前端的資料來源進行串接,達到自動化建立資料視覺化圖表的目標,希望這篇文章能夠幫助大家認識Seaborn套件,初步學會建立圖表的方法,進而應用在實務上,洞察巨量資料的價值與資訊,歡迎分享給分邊在學習或實作資料視覺化圖表的朋友。
你可能有興趣的文章
留言
張貼留言