引言:
在用matlab画柱状图或者其他图的时候,你是否碰到下图这种情况:
乍一看这个柱状图画的有馍有洋的,but,仔细一看你会发现,横坐标标签如果再长一点就不好看啦,甚至会重叠,就像这样:
这样的图怎么能入reviewer老师们的法眼呢,分分钟给你个REJECT!!!!要想论文能通过,还是得从细节入手的啦!
SO,我们想办法让横坐标标签旋转一下不就好啦?下面看代码:
clc;clear;
y=[0.5,0.79,0.45,0.35,0.27,0.31,0.64,0.19,0.54,0.87];
bar(y);
set(gca,'xticklabel',{'aaaa','bbbb','cccc','dddd','eeee','ffff','gggg','hhhh','iiii','jjjj'})
xtb = get(gca,'XTickLabel');% 获取横坐标轴标签句柄
xt = get(gca,'XTick');% 获取横坐标轴刻度句柄
yt = get(gca,'YTick'); % 获取纵坐标轴刻度句柄
xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。
ytextp=-0.3*yt(2)*ones(1,length(xt));
% ytextp=xt;
% 设置显示标签的位置,写法不唯一,这里其实是在为每个标签找放置位置的纵坐标
% rotation,正的旋转角度代表逆时针旋转,旋转轴可以由HorizontalAlignment属性来设定,
% 有3个属性值:left,right,center,这里可以改这三个值,以及rotation后的角度,这里写的是45
% 不同的角度对应不同的旋转位置了,依自己的需求而定了。
text(xtextp,ytextp,xtb,'HorizontalAlignment','right','rotation',45,'fontsize',10);
set(gca,'xticklabel','');% 将原有的标签隐去
效果图: