Update:
这个答案已经过时了自 matplotlib 版本 3.5 起. The plot
函数现在直接处理日期时间数据。看https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.pyplot.plot_date.html
不鼓励使用plot_date。该方法存在于历史
原因并可能在将来被弃用。
类似日期时间的数据应该使用plot直接绘制。
如果您需要将纯数字数据绘制为 Matplotlib 日期格式或
需要设置时区,调用 ax.xaxis.axis_date / ax.yaxis.axis_date
在情节之前。请参阅 Axis.axis_date。
旧的、过时的答案:
您必须首先将时间戳转换为 Pythondatetime
对象(使用datetime.strptime
)。然后使用date2num
将日期转换为 matplotlib 格式。
使用绘制日期和值plot_date:
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)