下图显示了重叠的y轴标签存在的问题。
在修复尝试之前
为了解决这个问题,我尝试了以下代码(分别为每个子图;所以h1代表子图1,h2代表子图2,依此类推)
offset = 0.5
h1 = get(gca,'YLabel');
set(h1,'Position',get(h1,'Position') - [0 0 offset])
我是否尝试0.1,0.5,0.9或更高的偏移;结果总是如下:
尝试后
我是否错误地使用了命令,或者每个子图周围是否有框架阻止我将y标签进一步向左移动?
答案 0 :(得分:3)
您正在 Z方向中应用偏移(位置矢量的第三个元素[x y z]
)。相反,您希望将偏移应用于位置矢量的第一个元素,以将其移位到x。
offset = 0.5
h1 = get(gca,'YLabel');
set(h1,'Position',get(h1,'Position') - [offset 0 0])
此外,偏移量与x轴的单位相同,因此您可能需要适当调整偏移量。或者,如果您只想要一定百分比的填充,则可以使用xlims
计算x轴的范围并使用其中的百分比。
padPercent = 0.1;
offset = padPercent * diff(get(gca, 'xlim'));
作为一个例子
axes();
hlabel = ylabel('YLABEL');
offset = 0.075 * diff(get(gca, 'xlim'));
set(hlabel, 'Position', get(hlabel, 'Position') - [offset, 0 0])