Matlab:将从excel导入的日期转换为可读格式?

问题描述 投票:0回答:1

我从excel文件导入了数据。导入日期日期后,我的日期如下:

0.641238425925926
0.641932870370370
0.642627314814815
0.643321759259259
0.644016203703704

我用过datestr(Time)。我以我需要的格式获取日期数据,但数据不是表格格式。我需要绘制数据。所以我需要以表格格式提供所有内容。

然而,datevec工作,它分别给出小时,分钟。不知道如何将它们结合起来。

有工作吗?

matlab date plot graph
1个回答
0
投票

如果您希望这些数字是完整日期(并且“完整日期”我的意思是时间点,包括日期和时间),那么您在阅读Excel电子表格时可能会出错。但由于你只是说几小时和几分钟,我认为你走在正确的道路上,你只想考虑时间。

time = [
    0.641238425925926
    0.641932870370370
    0.642627314814815
    0.643321759259259
    0.644016203703704
];

time_str = cellstr(datestr(data,'HH:mm:ss'));

上面的代码将生成一个5乘1的字符向量数组,这对绘图不利。正如你所说,datevec将分割你的日期时间值,它也不好。我建议你将你的值保持为当前的数字格式并使用它们来定义你的x-axis点。绘制绘图后,您始终可以将刻度标签转换为更易读的格式:

time = [
    0.641238425925926
    0.641932870370370
    0.642627314814815
    0.643321759259259
    0.644016203703704
];

value = [
    1
    3
    4
    0
    2
];

plot(time,value);
datetick('x','HH:mm:ss');

如您所见,由于四舍五入,这会失去秒精度。因此,要保持尽可能高的精度:

% ...

plot(time,value);
set(gca,'XTickLabel',cellstr(datestr(data,'HH:mm:ss')));
© www.soinside.com 2019 - 2024. All rights reserved.