6

我正在尝试将值绘制为日期的函数(仅 hh:mm:ss,没有 dd/mm/yy)。代码看起来像这样

dates = matplotlib.dates.date2num(x_values)
plt.plot_date(dates, y_values)  

但我收到以下错误

'numpy.string_' 对象没有属性 'toordinal'。

4

3 回答 3

16

date2num期望datetime对象。如果您有字符串,请使用matplotlib.dates.datestr2num.

于 2012-06-18T23:01:53.993 回答
2

根据文档

matplotlib.dates.date2num(d):d 要么是一个日期时间实例,要么是一个日期时间序列。

看起来你正在给一个字符串。

于 2012-06-18T23:01:59.443 回答
0
from matplotlib import pyplot as plt <br>
pay_date=['2016-04-30', '2016-06-28', '2016-11-29'] 
due_date=['2016-05-02', '2016-07-31', '2016-10-29'] 
plt.plot_date(pay_date,due_date,xdate=True,ydate=True) 

只需添加参数xdate=Trueydate=True它会自动绘制日期

最后编写以下代码,打印行

plt.plot(pay_date,due_date)
于 2017-03-09T15:17:13.410 回答