gpt4 book ai didi

python - 使用 Matplotlib 在 Python 中绘制时间

转载 作者:IT老高 更新时间:2023-10-28 12:30:51 26 4
gpt4 key购买 nike

我有一个格式为 (HH:MM:SS.mmmmmm) 的时间戳数组和另一个 float 数组,每个数组对应于时间戳数组中的一个值。

我可以使用 Matplotlib 在 x 轴上绘制时间,在 y 轴上绘制数字吗?

我试图这样做,但不知何故它只接受 float 组。我怎样才能让它绘制时间?我必须以任何方式修改格式吗?

最佳答案

更新:

此答案已过时 since matplotlib version 3.5 . plot 函数现在直接处理日期时间数据。见 https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.pyplot.plot_date.html

The use of plot_date is discouraged. This method exists for historicreasons and may be deprecated in the future.

datetime-like data should directly be plotted using plot.

If you need to plot plain numeric data as Matplotlib date format orneed to set a timezone, call ax.xaxis.axis_date / ax.yaxis.axis_datebefore plot. See Axis.axis_date.


旧的、过时的答案:

您必须首先将时间戳转换为 Python datetime 对象(使用 datetime.strptime)。然后使用 date2num 将日期转换为 matplotlib 格式。

使用 plot_date 绘制日期和值:

import matplotlib.pyplot
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)
matplotlib.pyplot.plot_date(dates, y_values)

enter image description here

关于python - 使用 Matplotlib 在 Python 中绘制时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com