Matplotlib 繪製時間序列
Suraj Joshi
2023年1月30日
-
在 Matplotlib 中通過將文字轉換為
datetime.datetime
格式來繪製時間序列資料 -
在 Matplotlib 中使用
matplotlib.pyplot.plot_date()
方法繪製時間序列資料
要在 Python 中繪製時間序列資料,我們可以使用 datetime.datetime
函式將文字格式的日期轉換為 datetime.strptime()
格式。我們也可以使用 matplotlib.pyplot.plot_date()
函式。
在 Matplotlib 中通過將文字轉換為 datetime.datetime
格式來繪製時間序列資料
from datetime import datetime
import matplotlib.pyplot as plt
dates = [
"2020-may-20",
"2020-may-21",
"2020-may-22",
"2020-may-23",
"2020-may-24",
"2020-may-25",
"2020-may-26",
]
x = [datetime.strptime(date, "%Y-%b-%d").date() for date in dates]
y = [20, 30, 35, 18, 24, 28, 26]
plt.plot(x, y, marker="o")
plt.gcf().set_size_inches(9, 7)
plt.show()
輸出:
它通過首先使用 strptime()
方法將文字中的日期轉換為 datetime
格式,生成 dates
列表中給定時間序列資料的圖。使用 date()
方法對 datetime
物件進行處理,我們忽略 datetime
物件的時間部分。然後我們使用 plot()
方法繪製 datetime
格式的資料。
在 Matplotlib 中使用 matplotlib.pyplot.plot_date()
方法繪製時間序列資料
如果日期是 datetime
格式,我們可以使用 matplotlib.pyplot.plot_date()
方法從資料中生成一個時間序列圖。
from datetime import datetime
import matplotlib.pyplot as plt
dates = [
"2020-may-20",
"2020-may-21",
"2020-may-22",
"2020-may-23",
"2020-may-24",
"2020-may-25",
"2020-may-26",
]
x = [datetime.strptime(date, "%Y-%b-%d").date() for date in dates]
y = [20, 30, 35, 18, 24, 28, 26]
plt.plot_date(x, y)
plt.gcf().set_size_inches(8, 6)
plt.tight_layout()
plt.show()
輸出:
它將建立一個時間序列資料的散點圖。如果我們想建立一個線圖,我們使用 linestyle ='solid'
作為 plot_date()
方法的引數。
from datetime import datetime
import matplotlib.pyplot as plt
dates = [
"2020-may-20",
"2020-may-21",
"2020-may-22",
"2020-may-23",
"2020-may-24",
"2020-may-25",
"2020-may-26",
]
x = [datetime.strptime(date, "%Y-%b-%d").date() for date in dates]
y = [20, 30, 35, 18, 24, 28, 26]
plt.plot_date(x, y, linestyle="solid")
plt.gcf().set_size_inches(8, 6)
plt.tight_layout()
plt.show()
輸出:
它將使用 matplotlib.pyplot.plot_date()
方法生成時間序列資料的線圖。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn