类似的转换HH:MM:SS.FFF和MATLAB中的绘图问题已得到解答,但我已经尝试了所有这些解决方案,我的MATLAB图仍未绘制格式化时间,HH:MM:SS.FFF数据。
我有微秒的数据:
time = [2551501274.00000,
2552001200.00000,
2552502202.00000,
2553001184.00000,
2553501334.00000,
2554002022.00000]
然后我把它转换为HH:MM:SS.FFF:
microconvert = time
dayconvert = microconvert / 86400000000
time = datestr(dayconvert, 'HH:MM:SS.FFF')
我成功使用HH:MM:SS.FFF格式。然后下一步 - 试图绘制我的时间数据 - 我得到一个错误,“无效的第一个数据参数。”
plot(time)
datetick('x', 'HH:MM:SS.FFF');
我使用datatick函数推荐了许多解决方案,但它没有用。
如何生成我的数据格式为HH:MM:SS.FFF?
通过做plot(time)
你正在绘制你的time
矢量与其指数,即你的例子中的1:6
。另外,因为你使用了datestr
,你的time
变量实际上是一个char
数组,而不是double
所以你无法绘制它:
>> whos time
Variables in the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
time 6x12 72 char
Total is 72 elements using 72 bytes
你需要在你的时间向量上绘制其他东西,并确保你的时间向量是double
数据类型:
plot(dayconvert,rand(size(dayconvert))) % dayconver is a double array
datetick('x','HH:MM:SS.FFF')
这使: