使用Python的matplotlib在x轴上绘制日期

发布于 2021-01-29 17:46:46

我正在尝试根据日期绘制信息。我有日期列表,格式为“ 01/02/1991”。

我通过执行以下操作来转换它们:

x = parser.parse(date).strftime('%Y%m%d'))

这使 19910102

然后我尝试使用num2date

import matplotlib.dates as dates
new_x = dates.num2date(x)

绘图:

plt.plot_date(new_x, other_data, fmt="bo", tz=None, xdate=True)

但是我得到一个错误。它显示“ ValueError:年份超出范围”。有什么办法吗?

关注者
0
被浏览
148
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    就像@KyssTaohelp(dates.num2date)所说的那样,x必须是一个浮点数,其中要给出从0001-01-01开始的天数加一。因此,19910102它不是1991年1月2日,因为如果您从0001-01-01开始算起19910101天,那么您将在54513年或类似的年份获得收入(除以365.25,即一年中的天数)。

    datestr2num改为使用(请参阅help(dates.datestr2num)):

    new_x = dates.datestr2num(date) # where date is '01/02/1991'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看