如何使用优雅地处理时间数据——使用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/

要设置横坐标的标签和样式,可以使用MATLAB中的一些函数和属性。以下是一些示例代码: 1. 使用百分数作为横坐标的标签: ```matlab h = gca; labels = get(h, 'xticklabel'); labels_modif = strcat(labels, '%'); set(h, 'xticklabel', labels_modif); ``` 这段代码用于获取当前坐标轴的xticklabel,并在每个标签后添加百分号。 2. 修改横坐标标签的字体、字号和间距: ```matlab set(gca, 'xticklabels', {'Apple', 'Orange', 'Banana', 'Pear', 'Pitaya', 'Lemon'}, 'Fontname', 'Times New Roman', 'Fontsize', 16); ``` 这段代码将横坐标的标签设置为指定的字符串数组,同时修改字体为Times New Roman,字号为16。 3. 在盒中设置横坐标标签: ```matlab boxplot(X, 'Labels', {'40 R-L', '40 L-R', '50 R-L', '50 L-R', '60 R-L', '60 L-R'}, 'PlotStyle', 'Compact', 'orientation', 'horizontal'); ``` 这段代码用于绘制盒,并设置盒横坐标标签为指定的字符串数组。 希望以上代码可以帮助到你设置MATLAB中的横坐标。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlab设置横纵坐标和坐标轴刻度——matlab画图,坐标轴用百分数](https://blog.csdn.net/weixin_41529093/article/details/122773335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Matlab条形bar横坐标间距设置](https://blog.csdn.net/weixin_35730840/article/details/115879757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Matlab箱线Boxplot横坐标x轴设置](https://blog.csdn.net/weixin_29491655/article/details/115815350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.看海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值