我使用csv格式的sensorLog应用程序从我的手机导出陀螺仪传感器数据。我正在尝试三轴数据的时间戳。数据看起来像这样
1474145797.91346 -0.055417 -0.465534 -0.284113
1474145797.93344 -0.108296 -0.42116 -0.240057
1474145797.95342 -0.047696 -0.424263 -0.247162
1474145797.99336 0.051028 -0.479374 -0.275701
列是时间戳,x轴(rad / sec),y轴(rad / sec),z轴(rad / sec)
绘制此数据我使用了以下python代码:
import numpy as np
import matplotlib.pyplot as plt
xaxis, x, y, z = np.loadtxt('gyroscope.csv', delimiter=',', unpack = True)
plt.plot(xaxis, np.rad2deg(x), color = "blue", label = "xaxis")
plt.plot(xaxis, np.rad2deg(y), color = "red", label = "yaxis")
plt.plot(xaxis, np.rad2deg(z), color = "black", label = "zaxis")
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()
这是我得到的错误:
return float(x)
ValueError:无法将字符串转换为float:b'timestamp'。
但是,如果我更改时间戳,上面的代码工作正常,这不是我想要的。我想要关于时间(毫秒)的度数图表。我认为问题在于时间戳,格式为1.47E + 09。任何人都可以建议我如何格式化时间戳列?我错过了什么吗?
提前致谢。任何建议或更正都非常感谢。
答案 0 :(得分:0)
我相信您的问题是CSV文件中的第一行,实际上是标题。
尝试将 skiprows = 1 传递给loadtxt