matlab - 导入 MATLAB 时,时间列变为十进制形式
问题描述
我有来自 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)
解决方案
MATLAB 中的时间是datenum()
值,它们是自 0000 年 1 月 0 日以来的十进制天数。所以你看到的东西是正确的时间。您可以使用datestr(Time,'HH:mm:ss')
获取时间字符串,并datetick('x','HH:mm')
以小时为单位获取轴上的刻度线。
您的代码中的行datestr(Time,'HH:MM:SS');
是多余的。MATLAB 必须花时间来评估日期字符串,然后……什么都没有。您不会将输出保存到变量中,也不会显示它(您用分号抑制了它)。
长话短说:datenum()
绘图时使用值,并使datetick()
轴标签正确。
推荐阅读
- html - 相互移动方块
- qbxml - 如何通过 Quickbook Web 连接器将附件上传到 Quickbook Desktop
- xml - 如何修改 XSL 以
从 XML插入 - apache-kafka - Flink 输出到 Kafka,正确使用 KeyedSerializationSchema
- tensorflow - 带有 sycl 和 fpga 加速的 Tensorflow
- ibm-integration-bus - 如何获取在 IIB 中使用 SOAP Input 节点部署的应用程序的 WSDL url?
- sql - 硬币收藏数据库。限制数据
- java - Android Resource.getValue 在我的 Google Play 开发控制台中崩溃,没有更多信息
- php - 使用 codeigniter 未在子域中加载 css、js 和图像
- r - 将插值层添加到 R 中的 ggplot 图表