目录

直接绘制图像

函数介绍

datenum

dateaxis

举例一

举例二

读取表格时间数据绘图

直接绘制图像

函数介绍

datenum

datenum: 将日期和时间转化为日期序列值,即把日期转化成普通实数

% 常用形式:DateNumber = datenum(DateString) 将表示日期和时间的文本转换为日期序列值

% DateNumber = datenum(DateString,formatIn) 使用 formatIn 解析 DateString 所表示的日期和时间

%%%%% 举例:

datenumber1=datenum('2020,9,7')

datestring='24-Oct-2003 12:45:07';

formatin='dd-mmm-yyyy HH:MM:SS';

datenumber2=datenum(datestring,formatin)

% 输出:

% datenumber1 =

% 738041

% datenumber2 =

% 7.3188e+05

常用格式:

3f77695687c8ae0d4005e8d64e0671b8.png

了解更多datenum

dateaxis

dateaxis: 将序列日期轴标签转换为日历日期轴标签

%常用形式:dateaxis(Tickaxis,DateForm)

% Tickaxis:坐标轴

% DateForm:要使用的日期格式

% 不方便单独举例,后面一起举例

日期格式对应表:

a41dc62a994758cf96e82c65a794f163.png

了解更多dateaxis

举例一

绘制横坐标为年月日的数据图,时间为2018.1.1到2019.1.1,以一天为时间间隔

x=linspace(datenum(2018,1,1),datenum(2019,1,1),365);%把时间以数值形式分成365份

y=rand(1,365);

plot(x,y);

dateaxis('x',17);%转化横坐标为相应的日期格式

xlabel('时间');

ylabel('数据');

结果展示:

80d5cf8ff23d09c85d9822dfffdffe41.png

举例二

绘制横坐标为时分的数据图,时间为6:30到9:30,以15min为时间间隔

x=linspace(datenum('6:30','HH:MM'),datenum('9:30','HH:MM'),12);% 时间分成12份,使得时间间隔为15min

y=rand(1,12);

plot(x,y,'-o');

xlabel('时间');

ylabel('数据');

dateaxis('x',15);

结果展示:

8376ad3a2bbed9ab24a1fc13f0333126.png

读取表格时间数据绘图

date.xlsx表格截图:

e41358c94b8a14ae3fc194d0ad67055f.png

代码部分:

[date,txt]=xlsread('date.xlsx');%date为数据部分,txt为日期部分

for i=1:length(txt)

x(i)=datenum(txt{i});%txt{i},把txt中的cell类型转化为string类型

end

plot(x,date);

dateaxis('x',17);

xlabel('时间');

ylabel('数据');

运行结果:

71032fb962458adf684332b5e86acffb.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐