我有两个要显示的数组:
x : [datetime.time(0, 17, 47, 782000), ...ect
y : [1712, 2002, ...ect
我正在尝试将 x 转换为 matplotlib 使用的格式,但它永远不会工作
x = [matplotlib.dates.date2num(i) for i in x]
但我收到这个错误
AttributeError: 'datetime.time' object has no attribute 'toordinal'
我的问题与时间格式有关:
原始信息是这样的:
00:04:49.251
然后我将其转换
datetime.datetime.strptime(string, "%H:%M:%S.%f").time()
所以类型是
<type 'datetime.time'>
这里的问题是你指定datetime.time
仅具有一天中时间信息的对象。作为Emanuele Paolini
他们在评论中指出,matplotlib
期望有datetime.datetime
除了时间之外还带有日期的对象。
您可以进行以下转换:
import datetime
my_day = datetime.date(2014, 7, 15)
x_dt = [ datetime.datetime.combine(my_day, t) for t in x ]
现在你可以使用x_dt
与plot
功能。
这种方法的缺点是您可能会在绘图上的某个位置获取日期,但这可以通过更改标签设置来解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)