当前位置:   article > 正文

matlab处理时间数据绘图_matlab dateaxis

matlab 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

常用格式:
在这里插入图片描述
了解更多datenum

dateaxis

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

%常用形式:dateaxis(Tickaxis,DateForm)
% Tickaxis:坐标轴
% DateForm:要使用的日期格式
% 不方便单独举例,后面一起举例
  • 1
  • 2
  • 3
  • 4

日期格式对应表:
在这里插入图片描述
了解更多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('数据');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果展示:
在这里插入图片描述

举例二

绘制横坐标为时分的数据图,时间为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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果展示:
在这里插入图片描述

读取表格时间数据绘图

date.xlsx表格截图:
在这里插入图片描述
代码部分:

[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('数据');

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/237882
推荐阅读
相关标签
  

闽ICP备14008679号