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','');% 将原有的标签隐去

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

  • matlab mex compiler配置的几种解决方法总结
  • MATLAB联合绘制条形图、误差棒图、线图并改属性
  • MATLAB改变坐标轴标注和改变网格线属性
  • MATLAB的GUI中,如何去编写鼠标响应事件
  • 用TexStudio写论文遇到的小问题2
  • 热门搜索
    文明在我身边手抄报 守则规范手抄报 化学手抄报版面设计 三年级感恩手抄报 科学小知识手抄报 关于交通安全手抄报 海洋手抄报内容 孝心少年手抄报 文明乘车手抄报 元旦手抄报内容大全