如何使用matlab使用时间序列数据X轴和比率Y轴分散点

问题描述

我想用 x 轴上的 HH:mm:ss 和 y 轴上的百分比在图表上散布点。 首先,我通过 Matlab 上的菜单从 excel 中导入数据。

我使用下面的代码转换为时间格式(X 值,它显示为时间格式)。

t =days(VarName6);
t.Format='hh:mm:ss';

然后,不知何故出现了一条错误消息,说“要从持续时间更改为数字格式,请选择 SECONDS、MINUTES、HOURS、DAYS、YEARS 之一”。

无论如何,'t' 是时间(HH:MM:SS)格式(其中 250 个),而 'VarName5' 是数字(0.0471 等)(其中 250 个)。 我想从早上 5 点到凌晨 1 点设置 x 轴。并将 Y 轴单位转换为比率(%)。 我应该如何将代码更改为?

hold on;
sz=140;
scatter(t,VarName5,sz,'d');
grid on 
xlabel('time'); 
ylabel('ratio');
title('Samsung Station')
hold off
saveas(1,'figure 1.jpg')   

我不断得到下面的图像作为图表。但我想在图表上散布 250 个点。

result I keep getting as data connected graph

解决方法

轰!那很简单

figure(1)
hold on;
scatter(datenum(t),VarName5*100,'b');
grid on 
xlabel('time'); 
ylabel('ratio(%)');
%title('Samsung Station')
datetick('x','HH:MM:SS','keeplimits')
hold off
saveas(1,'figure 1.jpg')

result