如何使用 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()
输出
广告