6

在 Matlab 中,如果我们不旋转包含多个字母的 y 标签,标签可能会与刻度数字甚至 y 轴重叠。我们可以通过以下方式增加 y 标签和 y 轴之间的距离:

plot(A, B);
y=ylabel('xxx', 'rot', 0);  % do not rotate the y label
set(y, 'position', get(y,'position')-[0.1,0,0]);  % shift the y label to the left by 0.1

但是,一个问题是,如果我们更改axis([0 1 0 25])axis([0 10 0 25]),则 y 标签和 y 轴之间的距离也会发生变化。有没有一种方便的方法可以将 y 标签稍微向左移动,但是当我们改变 x 的范围时,保持 y 标签和 y 轴之间的距离不变?

4

1 回答 1

18

您可以对 y 标签位置使用归一化单位。尝试这个:

set(y, 'Units', 'Normalized', 'Position', [-0.1, 0.5, 0]);

标准化单位始终与 [0 1] 相关,因此数据的范围无关紧要。

于 2013-01-30T19:22:10.713 回答