在 Seaborn 中繪製時間序列資料
-
在 Seaborn 中使用
seaborn.lineplot()
函式繪製時間序列資料 -
在 Seaborn 中使用
seaborn.tsplot()
函式繪製時間序列資料 -
在 Seaborn 中使用
seaborn.barplot()
函式繪製時間序列資料
時間序列資料是一種特殊型別的資料,我們在其中觀察一段時間內的一些觀察結果。記錄每個觀察的時間戳。當我們談論股票價格、感測器資料、應用程式監控資料等時,通常會處理此類資料。
在本教程中,我們將學習如何使用 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)
請注意,在將 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 中使用 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)
前兩種方法使用線條繪製資料,因此這為時間序列資料提供了另一種視覺化。
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