跳到主要內容

教你簡單上手Seaborn資料視覺化工具的重要實作

seaborn_tutorial

想要洞察資料的價值,除了可以使用像是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_tutorial

有了資料視覺化圖表,就可以很容易看出線上每種產品類別的銷售營收。幫助我們後續進行商業上的決策。

五、小結

Seaborn透過封裝的方式,讓建立圖表的方法更直覺,並且能夠利用寫程式的方式來與前端的資料來源進行串接,達到自動化建立資料視覺化圖表的目標,希望這篇文章能夠幫助大家認識Seaborn套件,初步學會建立圖表的方法,進而應用在實務上,洞察巨量資料的價值與資訊,歡迎分享給分邊在學習或實作資料視覺化圖表的朋友。

你可能有興趣的文章










留言