MATLAB 2024b:如何隐藏双Y轴刻度线并保留刻度标签
MATLAB 2024b双Y轴隐藏刻度线保留标签的实现方法
需求说明
在MATLAB 2024b中绘制双Y轴图形时,需要隐藏左右两个Y轴的刻度线,但保留刻度标签。
当前代码
yyaxis left; b = bar(data(2:end-1,:)', "stacked"); xticklabels(data(1, :)); ax1 = gca; ax1.YGrid = "on"; ax1.YLim = [0, 1000]; ... yyaxis right; l = plot(data(end, :), 'k'); l.LineWidth = 2; ax2 = gca; ax2.YLim = [0,30]; box off;
效果对比
- 当前效果:左右Y轴均显示刻度线与刻度标签
- 期望效果:仅保留左右Y轴的刻度标签,刻度线完全隐藏
实现方法
通过设置Y轴的TickLength属性为[0 0]即可实现,该属性控制刻度线的长度,将Y轴对应的长度设为0后,刻度线会被隐藏,同时不影响刻度标签的显示。
修改后的完整代码如下:
yyaxis left; b = bar(data(2:end-1,:)', "stacked"); xticklabels(data(1, :)); ax1 = gca; ax1.YGrid = "on"; ax1.YLim = [0, 1000]; % 隐藏左Y轴刻度线,保留标签 ax1.TickLength = [0 0]; ... yyaxis right; l = plot(data(end, :), 'k'); l.LineWidth = 2; ax2 = gca; ax2.YLim = [0,30]; % 隐藏右Y轴刻度线,保留标签 ax2.TickLength = [0 0]; box off;
补充说明
TickLength属性的格式为[x_length y_length],其中第一个值对应X轴刻度线长度,第二个值对应Y轴刻度线长度。将Y轴长度设为0,就能精准隐藏Y轴刻度线,同时保留刻度标签和已开启的网格线。
内容的提问来源于stack exchange,提问作者Lanzelot
相关产品推荐
相关产品推荐

