【发布时间】:2015-09-12 19:57:31
【问题描述】:
我又遇到了一个问题,这已经让我头痛了几个小时……我很确定这只是一件小事。
我有一个很长的数据文件并创建了一个包含标题名称及其类型的列表:
col_headers = [('TIMESTAMP','|S21'),('XXX_1','<i8'),('YYY_2','<i8')
之后,我创建了一个包含选项的字典变量,最后将其导入
bladata = scipy.genfromtxt(datafile, **kwargs)
用于提取我使用的时间信息
import datetime as dt
for i in range (0,len(bladata['TIMESTAMP']),1):
datestring = bladata['TIMESTAMP'][i]
#create a datetime object holding dates and times
d = dt.datetime.strptime(datestring, '"%Y-%m-%d %H:%M:%S"')
最后我通过使用将数据分配给一个变量
XXX = bladata['XXX_1']
YYY = bladata['YYY_2']
(顺便说一句,当我的数据文件中的标头名称不是 XXX_1 而是 XXX(1) 时,我收到错误消息“未找到名为 XXX(1) 的字段” - 我该如何解决这个问题?)
现在在绘图时,我收到错误消息
x and y must have same first dimension
使用以下代码时
pylab.plot(dt, XXX)
pylab.plot(dt, YYY)
pylab.xlim(d.datetime(2014, 01, 10), d.datetime(2014, 06, 10))
我在谷歌上搜索了该错误消息并找到了一个建议将列表转换为 numpy 数组的解决方案......但是在哪里和哪个?我很确定这根本不是什么大问题,但我花了好几个小时都想不通……所以我很高兴得到任何有用的答复。
€dit:澄清一下...XXX 和 YYY 是 2 个不同的测量值,我想在 1 个绘图中与其对应的日期进行可视化。
【问题讨论】:
标签: python python-2.7 numpy matplotlib plot