You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab 2023a如何隐藏时间轴日期标注并实现AM/PM格式显示?

Matlab 2023a 时间轴格式调整解决方案

一、隐藏datetime绘图时的日期范围标注

你看到的轴下方日期标注是坐标轴的范围标签,直接修改坐标轴属性即可隐藏。在原有代码后添加以下两行:

mm = 0:minutes(5):hours(24); d = datetime() + mm;
plot(d, randn(size(d)));
xtickformat('hh:mm a');
% 隐藏日期范围标签
ax = gca;
ax.XAxis.RangeLabels = {};

二、duration类型实现AM/PM显示的方法

duration仅表示时长,本身不包含AM/PM这类时段信息,默认无法直接显示,可通过两种方式实现需求:

方法1:转成datetime类型处理

构造一个基准日期(比如当天0点),把duration叠加到基准datetime上,再设置刻度格式:

dur = 0:minutes(5):hours(24);
% 基于当天0点生成datetime数组
base_dt = datetime('today');
dt = base_dt + dur;
plot(dt, randn(size(dt)));
xtickformat('hh:mm a');
% 隐藏范围标签
ax = gca;
ax.XAxis.RangeLabels = {};

方法2:手动生成带AM/PM的刻度标签

若不想用datetime,可提取duration的时分信息,手动转换为12小时制带AM/PM的字符串,再设置为刻度标签:

dur = 0:minutes(5):hours(24);
plot(dur, randn(size(dur)));
% 获取当前刻度对应的duration值
tick_durs = dur(xticks);
% 转换为带AM/PM的字符串
tick_labels = char(datetime([0 0 0 hour(tick_durs) minute(tick_durs) 0], 'Format', 'hh:mm a'));
xticklabels(tick_labels);
% 隐藏范围标签
ax = gca;
ax.XAxis.RangeLabels = {};

内容的提问来源于stack exchange,提问作者Robert Dodier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:39:53