我有来自Excel中xlxs文件的数据集,我必须在MATLAB中导入该数据集。问题是,每当我导入数据时,时间总是以十进制的形式出现。
在这里,xlxs文件中的数据显示了HH:MM:SS的格式:
这就是MATLAB的导入助手中的样子。
我要为它生成一个线状图,这就是它的样子:
这是我用来生成绘图的示例代码,在这里,我希望时间不以十进制形式出现。
datestr(Time,'HH:MM:SS');
title ('Particle Measurement for 02-20-2020 @ UPD')
plot(Time,PM10)
xlabel('Time')
ylabel('Particle Measurement')
hold on
plot(Time,PM1)
hold on
plot(Time,PM25)
发布于 2020-03-18 04:46:31
在MATLAB中的时间是datenum()
值,它是从01月0000开始的小数日。所以你看到的都是正确的时刻。您可以使用datestr(Time,'HH:mm:ss')
获得一个字符串的时间,并使用datetick('x','HH:mm')
在几个小时内获得轴上的勾标。
代码中的行datestr(Time,'HH:MM:SS');
是多余的。MATLAB需要时间来计算日期字符串,然后.没什么。您既不将输出保存到变量中,也不显示它(您用分号抑制了输出)。
长话短说:在绘图时使用datenum()
值,并使用datetick()
使轴标签正确。
https://stackoverflow.com/questions/60739782
复制