使用 Matplotlib 绘制时间序列数据
Matplotlib 的优势之一在于其能够有效地可视化时间序列数据。然而,尝试在 x 轴上绘制时间时遇到的挑战可能会令人沮丧。让我们解决这些错综复杂的问题并提供全面的解决方案。
时间格式和转换
解锁时间序列绘图的关键是了解时间戳数据的格式。 Matplotlib 期望时间值采用数字形式,而不是人类可读的格式 (HH:MM:SS.mmmmmm)。为了使事情正常工作,您需要使用 datetime.strptime 将时间戳转换为 Pythondatetime 对象。
使用 date2num 的数字表示
使用日期时间格式的时间戳,下一步是将它们翻译成 Matplotlib 能够理解的语言。这就是 date2num 发挥作用的地方。它将日期时间对象转换为针对 matplotlib 绘图优化的数字表示形式。
使用plot_date绘图
最后,让我们绘制时间序列数据。 Matplotlib 提供了一个专门为此任务设计的名为plot_date 的函数。它需要两个参数:日期(从我们的日期时间对象生成)和 y 值(要绘制的浮点数)。
代码演示
这里一个简单的代码片段来说明该过程:
import matplotlib.pyplot as plt import matplotlib.dates from datetime import datetime x_values = [datetime(2021, 11, 18, 12), datetime(2021, 11, 18, 14), datetime(2021, 11, 18, 16)] y_values = [1.0, 3.0, 2.0] dates = matplotlib.dates.date2num(x_values) plt.plot_date(dates, y_values) plt.show()
此代码将生成一个图,其中 x 轴代表时间Matplotlib 识别的数值格式,y 轴显示对应的浮点值。
以上是如何使用 Matplotlib 有效地绘制时间序列数据?的详细内容。更多信息请关注PHP中文网其他相关文章!