作者:洛特大人_382 | 来源:互联网 | 2024-12-05 14:03
Python 中 Matplotlib.dates.drange() 函数详解
Matplotlib 是一个功能强大的 Python 可视化库,主要用于创建二维图表和图形。它基于 NumPy 数组构建,并设计为与更广泛的 SciPy 科学计算堆栈兼容。
matplotlib.date.drange() 函数介绍
matplotlib.dates.drange()
函数用于生成一系列等间距的 Matplotlib 日期值。这些日期值从指定的起始日期开始,到(但不包括)指定的结束日期结束,每个日期之间的间隔由增量定义。
语法: matplotlib.dates.drange(dstart, dend, delta)
参数:
- dstart: 起始日期,类型为 Python 的 datetime.datetime 对象。
- dend: 结束日期,类型同样为 datetime.datetime 对象。
- delta: 每个日期之间的间隔,类型为 datetime.timedelta 对象。
返回值: 返回一个包含 Matplotlib 日期值的 NumPy 数组,其中每个元素都是一个表示日期的浮点数。
示例 1:
import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import DayLocator, HourLocator, DateFormatter, drange
import numpy as np
date_1 = datetime.datetime(2020, 3, 2)
date_2 = datetime.datetime(2020, 10, 10)
time_delta = datetime.timedelta(days=28)
dates = drange(date_1, date_2, time_delta)
y_axis = np.arange(len(dates))
fig, ax = plt.subplots()
ax.plot_date(dates, y_axis * y_axis)
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m'))
plt.show()
示例 2:
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates_list = [
datetime.datetime(2020, 8, 24, 0, 0),
datetime.datetime(2020, 8, 23, 0, 0),
datetime.datetime(2020, 8, 22, 0, 0),
datetime.datetime(2020, 8, 21, 0, 0),
datetime.datetime(2020, 8, 18, 0, 0),
datetime.datetime(2020, 8, 17, 0, 0),
datetime.datetime(2020, 8, 16, 0, 0),
datetime.datetime(2020, 8, 15, 0, 0),
datetime.datetime(2020, 8, 14, 0, 0),
datetime.datetime(2020, 8, 11, 0, 0),
datetime.datetime(2020, 8, 10, 0, 0),
datetime.datetime(2020, 8, 9, 0, 0),
datetime.datetime(2020, 8, 8, 0, 0),
datetime.datetime(2020, 8, 7, 0, 0),
datetime.datetime(2020, 8, 4, 0, 0),
datetime.datetime(2020, 8, 3, 0, 0),
datetime.datetime(2020, 8, 2, 0, 0),
datetime.datetime(2020, 8, 1, 0, 0)
]
start_date = dates_list[0]
end_date = dates_list[-1]
delta = datetime.timedelta(days=5)
dates = mdates.drange(start_date, end_date, delta)
y_data = range(len(dates))
plt.plot(dates, y_data)
plt.show()