我有一个日期值数组(T_date),从CSV导入并使用
转换为数字T_date, T_price = np.loadtxt('TESC.csv', unpack = True, delimiter = ',',
skiprows=1, usecols=(0,4),
converters = {0: mdates.strpdate2num('%Y-%m-%d')})
然后我创建一个从0开始的新数组,其中0是使用
的最早日期T_date0=T_date-np.amin(T_date)
我希望将pyplot图的x轴标记为
plt.xlabel("Date, 0 = ", firstdate)
其中firstdate =
firstdate = mdates.num2date(np.amin(T_date)).
这会以Y-m-d时间的形式创建一个日期时间值,但由于我的数据没有时间值,我希望将其删除。
当我运行时,我收到错误
"AttributeError: 'datetime.datetime' object has no attribute 'iteritems'"
任何帮助都非常感激。
答案 0 :(得分:0)
试试吧:
plt.xlabel("Date, 0 = {}".format(firstdate.strftime("%Y-%m-%d")))
为了完整性:您看到的错误是由于python尝试将您传递给xlabel
的第二个参数解压缩,根据其定义:
Definition: plt.xlabel(s, *args, **kwargs)
至于仅在标题中提出的问题(“从matplotlib.num2date日期中删除时间戳”),您应该查看xaxis的格式化选项。这个example from the matplotlib website总结得很好。你需要:
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d')