在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轴之间的距离不变?
答案 0 :(得分:17)
您可以将标准化单位用于y标签位置。试试这个:
set(y, 'Units', 'Normalized', 'Position', [-0.1, 0.5, 0]);
标准化单位始终相对于[0 1],因此数据范围无关紧要。