手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

MATLAB画图——旋转坐标轴标签

时间:2024-10-14 11:10:29

利用MATLAB画图张虢咆噘时,有时我们会遇到,坐标轴标签很长的情况,如图中花圈的地方。我想要将横坐标(以横坐标为例)写成如图所示的样子,怎么办呢?

MATLAB画图——旋转坐标轴标签
注意:标签的角度角度我是我可随便改的哦。

MATLAB本身没有提供直接的旋转方式,但是我们可以在程序中加几句话就可以轻松办到了!

其原理是这样的:本来的标签既然不能用,那我们只好自己创造标签了,自己用TEXT函数创造的标签,想怎么改就是我们自己的事情了,想怎么显示就怎么显示。

给个例子:

x = 1:10;

y = x.^2;

plot(x,y)% 前三行是画图函数

% 将横坐标(xticklabel,如果是纵坐标改yticklabel,二者都用自然也可以)标签设置成你想要显示的字符,

set(gca,'xticklabel','11111|2222|3333|4444|5555|6666|7777|8888|9999|10101010')

xtb = get(gca,'XTickLabel');% 获取横坐标轴标签句柄

xt = get(gca,'XTick');% 获取横坐标轴刻度句柄

yt = get(gca,'YTick'); % 获取纵坐标轴刻度句柄

xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。 ytextp=yt(1)*ones(1,length(xt)); % 设置显示标签的位置,写法不唯一,这里其实是在为每个标签找放置位置的纵坐标

% rotation,正的旋转角度代表逆时针旋转,旋转轴可以由HorizontalAlignment属性来设定,

% 有3个属性值:left,right,center,这里可以改这三个值,以及rotation后的角度,这里写的是45

% 不同的角度对应不同的旋转位置了,依自己的需求而定了。

text(xtextp,ytextp,xtb,'HorizontalAlignment','right','rotation',45,'fontsize',10);

set(gca,'xticklabel','');% 将原有的标签隐去

显示的效果就如上面的图所示了。有需要的可以试试了,也可以自己再加工。

© 手抄报圈