如何使用优雅地处理时间数据——使用MATLAB以日期为横坐标画图

我们在处理某些数据时是带有时间轴的,比如像年降水量、乘客流量,在画图的时候会希望以年份、月份或者日期作为横坐标,这个时候要怎么处理呢?

首先是导入数据,这里先略过不提,后边专篇介绍。

数据导入之后可能得到的是cell类型:

双击变量名称,可以看到每个元胞都是字符串形式的日期数据。

处理起来很简单

第一步,使用datenum函数将date变量转变为日期序列值

datenn = datenum(date);

第二步,调用plot画图,并使用datetick设置时间轴格式。

plot(datenn,data)
datetick('x','yyyy')

此时画出的图是这样的:

这里解释一下datetick函数

第一个入口参数是要标记的轴,一般来说都是'x'

第二个入口参数是刻度线标签的格式,上边我们用的是'yyyy',代表时间轴使用完整年份表示,这里可以根据实际需要修改:

上表还可以根据实际需要进行组合,比如想要显示“年-月”这样的形式,可以这样写:

plot(datenn(1:130),data(1:130))  %为了更好展示效果,截取了部分数据
datetick('x','yyyy-mm')

欢迎关注我的博客:

看海的城堡khToolboxhttp://www.khscience.cn/docs/

来源:Mr.看海

物联沃分享整理
物联沃-IOTWORD物联网 » 如何使用优雅地处理时间数据——使用MATLAB以日期为横坐标画图

发表评论