You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

多轴绘图中如何移除指定Y轴刻度值?含右侧Y轴需求及代码

嘿,这两个问题其实都很容易解决,我分两部分给你讲清楚:

通用场景:移除多轴中的某个Y轴刻度数值

当Matlab里存在多个坐标轴时,核心思路是找到目标Y轴对应的坐标轴句柄,然后通过修改它的属性来隐藏刻度:

  • 如果你只想隐藏刻度的文字数值(保留刻度线):把对应轴的YTickLabel设为空数组{}
  • 如果你想同时隐藏刻度线和数值:把YTick设为空数组[]
针对你的Matlab代码移除右侧Y轴刻度数值

看你给出的代码,右侧Y轴对应的是ax2这个坐标轴句柄,只需要在代码末尾添加一行属性修改即可。下面是修改后的完整代码:

figure 
x1 = Pmax; 
y1 = FuelCons; 
line(x1,y1,'Color','r') 
ax1 = gca; % 获取当前坐标轴句柄
ax1_pos = ax1.Position; % 记录第一个坐标轴的位置
ax2 = axes('Position',ax1_pos,... 
           'XAxisLocation','top',... 
           'YAxisLocation','right',... 
           'Color','none'); % 创建右侧Y轴的坐标轴
x2 = Cdrag; 
y2 = FuelCons; 
line(x2,y2,'Parent',ax2,'Color','k')

% 移除右侧Y轴的刻度数值(保留刻度线)
ax2.YTickLabel = {};

% 如果你想连刻度线一起隐藏,就替换成下面这行:
% ax2.YTick = [];

小解释:

  • ax2.YTickLabel = {}:仅隐藏刻度的文字,Y轴的刻度线会保留,适合需要保留轴的视觉位置但不需要数值的场景。
  • ax2.YTick = []:会同时隐藏刻度线和数值,彻底移除Y轴的刻度元素。

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

火山引擎 最新活动