在 Seaborn 中繪製時間序列資料

Manav Narula 2023年1月30日 2021年7月16日
  1. 在 Seaborn 中使用 seaborn.lineplot() 函式繪製時間序列資料
  2. 在 Seaborn 中使用 seaborn.tsplot() 函式繪製時間序列資料
  3. 在 Seaborn 中使用 seaborn.barplot() 函式繪製時間序列資料
在 Seaborn 中繪製時間序列資料

時間序列資料是一種特殊型別的資料,我們在其中觀察一段時間內的一些觀察結果。記錄每個觀察的時間戳。當我們談論股票價格、感測器資料、應用程式監控資料等時,通常會處理此類資料。

在本教程中,我們將學習如何使用 Seaborn 模組在 Python 中繪製此類時間序列資料。

我們將為繪圖建立我們自己的樣本時間序列資料。

在 Seaborn 中使用 seaborn.lineplot() 函式繪製時間序列資料

線圖是該模組最基本的圖之一。它通常用於跟蹤與時間有關的事物;這就是為什麼它被高度用於時間序列資料。

在以下程式碼中,我們使用 seaborn.lineplot() 函式繪製時間序列資料。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01/01/2019','01/02/2019','01/03/2019','01/04/2019',
                             '01/05/2019','01/06/2019','01/07/2019','01/08/2019'],
                   "Price": [77,76,68,70,78,79,74,75]})
plt.figure(figsize = (15,8))
sns.lineplot(x = 'Date', y = 'Price',data = df)

帶有 seaborn.lineplot() 函式的 seaborn 時間序列

請注意,在將 DataFrame 與函式一起使用之前,我們必須對其進行處理。我們必須確保 Date 列是日期時間格式,這是使用 pd.to_datetime() 函式完成的。

plt.figure() 命令用於改變最終圖形的大小。

在 Seaborn 中使用 seaborn.tsplot() 函式繪製時間序列資料

seaborn.tsplot() 是該模組最新版本的一個相對較新的補充。當我們有可用資料的時間戳時使用它。它用於繪製一個或多個時間序列資料。資料可以是長資料幀的形式,也可以是具有單位和時間維度的 N 維陣列。

下面的程式碼展示瞭如何使用這個函式。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
sns.tsplot(data = df['Price'], time  = df['Date'])

帶有 seaborn.tsplot() 函式的 seaborn 時間序列

在 Seaborn 中使用 seaborn.barplot() 函式繪製時間序列資料

條形圖用於表示矩形條中的觀測值。Python 中的 seaborn 模組使用 seaborn.barplot() 函式來建立條形圖。

條形圖可用於顯示連續的時間序列資料。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Date": ['01012019','01022019','01032019','01042019',
                             '01052019','01062019','01072019','01082019'],
                   "Price": [77,76,68,70,78,79,74,75]})
df["Date"] = pd.to_datetime(df["Date"], format = "%d%m%Y")

plt.figure(figsize = (15,8))
sns.barplot(x = 'Date', y = 'Price',data = df)

帶有 seaborn.barplot() 函式的 seaborn 時間序列

前兩種方法使用線條繪製資料,因此這為時間序列資料提供了另一種視覺化。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn