我有MM / DD / YYYY
形式的一堆日期。我使用解析器将它们变成看起来像datetime.datetime(YYYY, MM, DD, 0, 0)
的东西。
我有数据对应于数组y
中的每个日期,并且想要将两个数组相互映射。使用matplotlib.dates.date2num
我将它们绘制为
x= matplotlib.dates.date2num(dates)
plot_date(dates,y)
当我这样做时,我得到以下情节
我希望看起来像时间序列的东西。
如何解决此问题
答案 0 :(得分:2)
据推测,您正在阅读的日期和数据不符合时间顺序,在这种情况下,您需要在它们传递到plot_date()
之前对它们进行排序:< / p>
s = np.argsort(dates)
plot_date(dates[s],y[s])
无论您对datetime
个实例的列表/数组(您的dates
)还是数字等价物(您的x
)进行排序,这都应该有效。