如何在同一個 Python Matplotlib 繪圖中繪製兩個不同間隔的時間序列?
如果要使用 Matplotlib 在同個繪圖中繪製兩個不同間隔的時間序列,我們可按照以下步驟進行
步驟
設定圖形大小並調整子圖之間及周圍的間距。
建立 x1, y1 和 x2 及 y2 資料點。
建立一個圖形和一組子圖。
繪製包含 日期 及 (x1, y1) 和 (x2, y2) 資料點的資料。
設定 X 軸 ticklabels 的主要格式化程式。
使用 tick_params() 方法將 xtick 標籤旋轉 45 度。
要顯示圖形,請使用 Show() 方法。
示例
import matplotlib.pyplot as plt
from matplotlib.dates import date2num, DateFormatter
import datetime as dt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x1 = [date2num(dt.datetime(2021, 1, 15, 1, 1, 1)), date2num(dt.datetime(2021, 1, 15, 9, 1, 1))]
y1 = [6, 2]
x2 = [ date2num(dt.datetime(2021, 1, 15, 2, 1, 1)),
date2num(dt.datetime(2021, 1, 15, 4, 1, 1)),
date2num(dt.datetime(2021, 1, 15, 6, 1, 1)),
date2num(dt.datetime(2021, 1, 15, 8, 1, 1)),
date2num(dt.datetime(2021, 1, 15, 10, 1, 1))
]
y2 = [3, 6, 5, 4, 1]
fig, ax = plt.subplots()
ax.plot_date(x1, y1, 'o--')
ax.plot_date(x2, y2, 'o:')
ax.xaxis.set_major_formatter(DateFormatter('%H:%M:%S'))
ax.tick_params(rotation=45)
plt.show()
輸出
它會產生以下輸出 −

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP