matlab画图并倒转纵坐标_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','');% 将原有的标签隐去

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值