Matlab 旋转坐标轴标记文本

版权声明:本文为博主原创文章,欢迎署名转载。 https://blog.csdn.net/dou3516/article/details/56481356

在绘图中当X坐标轴标记(注意不是坐标轴名称的标签)是文本且较密集的时候我们会希望能够旋转标签以容得下所有内容,当Y坐标轴标记是文本时,我们也希望文本可以顺着Y轴的方向。这些都需要旋转坐标轴的标记。这里总结集中看到的处理方法:

1)对于matlab2012及早期版本,我没有找到内置函数可以处理,可以获取坐标轴标记的位置和文本信息,使用text自行添加标签。对于X轴的例子可以参考:

figure, plot(rand(20,1),'.')
oldticksX = get(gca,'xtick');
oldticklabels = cellstr(get(gca,'xtickLabel'));
set(gca,'xticklabel',[])
tmp = text(oldticksX, zeros(size(oldticksX)), oldticklabels, 'rotation',-90,'horizontalalignment','left');

对于Y轴的,实际上获取的标签位置可能不理想,需要自行调整,这时需要调整上面的oldticksX 。


2)对于matlab2014及以后的版本可以使用

set(gca, 'YTickLabelRotation', 90);


3)在matlab2016b及以后版本中内置了xtickangle, ytickangle等函数,可以使用

xtickangle(45);

ytickangle(90);

阅读更多
换一批

没有更多推荐了,返回首页