类似的转换HH:MM:SS.FFF和MATLAB中的绘图问题已得到解答,但是我尝试了所有这些解决方案,而我的MATLAB绘图仍未绘制格式时间HH:MM:SS.FFF数据。 / p>
我有几微秒的数据:
time = [2551501274.00000,
2552001200.00000,
2552502202.00000,
2553001184.00000,
2553501334.00000,
2554002022.00000]
然后我将其转换为HH:MM:SS.FFF as:
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格式的数据生成图?
答案 0 :(得分:2)
通过执行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')
给出: