我有一个格式为(HH:MM:SS.mmmmmm)的时间戳数组和另一个浮点数数组,每个浮点数对应于时间戳数组中的一个值.
我可以使用Matplotlib在x轴上绘制时间,在y轴上绘制数字吗?
我试图这样做,但不知何故,它只接受浮点array.我怎么才能让它画出时间呢?我需要以任何方式修改格式吗?
我有一个格式为(HH:MM:SS.mmmmmm)的时间戳数组和另一个浮点数数组,每个浮点数对应于时间戳数组中的一个值.
我可以使用Matplotlib在x轴上绘制时间,在y轴上绘制数字吗?
我试图这样做,但不知何故,它只接受浮点array.我怎么才能让它画出时间呢?我需要以任何方式修改格式吗?
您必须首先将时间戳转换为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)