如何使用 Matplotlib 繪製日期時間軸上的矩形?


要在日期時間軸上繪製一個矩形,我們可以採取以下步驟 −

  • 設定圖片大小並調整子圖之間的填充。
  • 建立一個新圖形或啟用一個現有的圖形。
  • 使用 add_subplot() 方法將一個 '~.axes.Axes' 新增到圖形中作為子圖佈局的一部分。
  • 要定義一個矩形,請使用日期時間和 Matplotlib 的日期查詢錨點。
  • 使用 add_patch() 方法將一個 '~.Patch' 新增到軸。
  • 設定主要軸定位器和格式化程式。
  • 限制 x 和 y 軸的刻度。
  • 要顯示圖形,請使用 show() 方法。

示例

from datetime import datetime, timedelta
from matplotlib.patches import Rectangle

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()

ax = fig.add_subplot(111)

startTime = datetime.now()
endTime = startTime + timedelta(seconds=1)
start = mdates.date2num(startTime)
end = mdates.date2num(endTime)

width = end – start
rect = Rectangle((start, 0), width, 1, color='red')
ax.add_patch(rect)

locator = mdates.AutoDateLocator(minticks=3)
formatter = mdates.AutoDateFormatter(locator)

ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)

plt.xlim([start - width, end + width])
plt.ylim([-.5, 1.5])

plt.show()

輸出

更新於: 03-Jun-2021

1K+ 瀏覽量

開啟你的 職業生涯

完成課程獲取認證

開始
廣告
© . All rights reserved.