热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python中Matplotlib.dates.drange()函数详解

本文详细介绍了如何在Python中使用Matplotlib库中的dates模块下的drange()函数来生成等间距的日期序列。
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()

推荐阅读
author-avatar
洛特大人_382
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有