二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 科普 » 正文

matlab tick

放大字体  缩小字体 发布日期:2018-08-17 22:41:14    作者:微世推-实习生燕子    浏览次数:344
导读

x=1:8;subplot(2,2,1)plot(x)%tick style 0(auto)subplot(2,2,2)plot(x)set(gca,\'xtick\',[1 3 6 8]);%style 1set(gca,\'ytick\',[]);%style 2subplot(2,2,3)plot(x)set(gca,\'xtick\',[1 3 6 8]);set(gca,\'xticklabel\',s

x=1:8;

subplot(2,2,1)
plot(x)
%tick style 0(auto)


subplot(2,2,2)
plot(x)
set(gca,'xtick',[1 3 6 8]);%style 1
set(gca,'ytick',[]);%style 2

subplot(2,2,3)
plot(x)
set(gca,'xtick',[1 3 6 8]);
set(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick')));%style 3
set(gca,'ytick',[2 4 5 7]);
set(gca,'yticklabel',{'Two','Four','Five','Seven'});%style 4

subplot(2,2,4)
plot(x)
set(gca,'xminortick','on');%style 5
set(gca,'ticklength',[0.05 0.025]);%style 6
set(gca,'tickdir','out');%style 7

 

1. label旋转坐标轴的label可以在label axis 的时候设置旋转角度 xlabel(str,'Rotation',Rotaiondegree) xlabel('This is xlabel','Rotation',15,'fontsize',20)

2. title旋转figure title也可以通过设置旋转属性来实现旋转,和label一样 hold on title('This is title','rotation',15,'fontsize',20)
3. ticklabel的旋转matlab中ticklabel并没有Rotation这一属性可以设置,所以得另想办法。text是可以设置旋转属性(Rotation)的,所以可以用text函数给figure在相应位置标上ticklabel,然后旋转。
 plot([0 1],[0 1]);% 获取xticklabel的值 xtl=get(gca,'XTickLabel'); % 获取xtick的值 xt=get(gca,'XTick'); % 获取ytick的值       yt=get(gca,'YTick');  % 设置text的x坐标位置们       xtextp=xt;                  % 设置text的y坐标位置们     ytextp=(yt(1)-0.2*(yt(2)-yt(1)))*ones(1,length(xt)); % rotation,正的旋转角度代表逆时针旋转,旋转轴可以由HorizontalAlignment属性来设定,% 有3个属性值:left,right,center text(xtextp,ytextp,xtl,'HorizontalAlignment','right','rotation',45,'fontsize',15); % 取消原始ticklabel set(gca,'xticklabel','');




自己做了一个自由标刻度的函数可以解决。有不尽完美之处还望各位指教。
%axis为'x'或'y',分别表示更改x或y刻度
%ticks是字符cell
function settick(axis,ticks)
n=length(ticks);
tkx=get(gca,'XTick');tky=get(gca,'YTick');
switch axis
    case 'x'
     w=linspace(tkx(1),tkx(end),n);
     set(gca, 'XTick', w, 'XTickLabel', []);%刷新刻度,去掉刻度值
     yh=(14*w(1)-w(end))/13;%按坐标轴比例调整刻度纵坐标位置
     for i=1:n
         text('Interpreter','tex','String',ticks(i),'Position',[w(i),yh],'horizontalAlignment', 'center');
     end
    case 'y'
     w=linspace(tky(1),tky(end),n);
     set(gca, 'YTick', w, 'YTickLabel', []);
     xh=(11*w(1)-w(end))/10;
     for i=1:n
         text('Interpreter','tex','String',ticks(i),'Position',[xh,w(i)],'horizontalAlignment', 'center');
     end
end

例如:
x=0:0.1:4*pi;plot(x,sin(x));ticks={'G_1' 'G_2' 'G_3' 'G_4' 'G_5'};settick('x',ticks)
figure;x=0:0.1:4*pi;plot(x,sin(x));ticks={'G_1' 'G_2' 'G_3' 'G_4' 'G_5'};settick('y',ticks) 
 
(文/微世推-实习生燕子)
免责声明
• 
本文仅代表发布者:微世推-实习生燕子个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈