【Matlab】坐标轴的几个设置(不定期更新)

[复制链接]
1. 坐标轴位置的设置
/ m3 p  J3 ~. zset(gca,'XAxisLocation','top')       %  x轴显示在上方3 |2 u$ e  E2 X+ C& T& ^! n

2 s. d( d9 _  J  }set(gca,'YAxisLocation','left/right')* x- c7 L3 @0 J; \, S! A) O' ]
set(gca,'ydir','reverse')   %坐标轴翻转
( D/ r  s$ N1 v1 k1 T
- `0 y/ T' @. r  `+ I" B) ~text(1:5,3010*ones(1,5),{'201203','201304','201405','201507','201607'},'HorizontalAlignment','right'...
4 l3 o- F8 y/ U$ R* l. q# C         ,'rotation',35,'fontname','calibri','fontwei','bold','fontsize',18)    % 设置x轴显示斜度$ E9 }9 `) L; j& B
set(gca,'DataAspectRatio',[1 1 1]) % 设置相同的x,y轴比例刻度' _; Z( c5 z0 [5 n- P
  k! T4 O4 ?  C% N' e# @. o

3 L+ Y1 T& ^) E2. colorbar单位的标注. K) N% ?; C8 h8 E& L
hbar=colorbar;
1 z% ?$ P" t8 v1 s( v6 K$ ?ylabel(hbar,'(cm/s)','rotation',0)   % 水平显示
0 G- q2 y% R4 O( h1 }
9 v, r1 m8 c6 ~" r: i4 R

* C# W/ }/ ]: h4 t- F4 t) h3.在字母上方加横线以及希腊字母的添加方法
' }* v) i7 z5 y& C8 a* i& Wtext(2,90,['$overline U$ =' num2str(roundn(U_,-2))],'interpreter','latex','fontwei','demi','fontsi',16)6 `# @* w, T& g8 g  V
text(2,80,'nu  =10^-^2','fontwei','demi','fontsi',16)0 @4 f4 C% b- Z5 O$ b5 o
8 O0 o) P7 s9 k3 f
4.调换x、y轴的位置
9 {) L. C6 w) d8 ?* r( d1 w' C可以直接plot(y,x)1 `9 _+ G, I' j" J8 H& b1 b3 @
也可以plot(x,y)之后,view([90 90])
7 ^- U* W6 L* f2 q3 O; f) s8 B: L7 {. x1 a4 @/ g

# o7 ~- l1 u8 J( C, \3 U5.title位置的调整
" ]2 ?5 p2 O8 wtitle('y=x','position',[2 3],'fontsi',16)8 c" i8 }0 F% O% Y, F# Z$ u+ h9 Z

% x6 s5 i! w5 I7 J1 k9 e

9 h' `1 V) X; X' h6.x轴上下进行分别标注(如果有两个变量对应x轴,可以把两个变量分别标注到上下轴)
* |) a+ r; I) D  }2 T, Hplot(x,y); L/ w, I+ t) r7 R# A

1 z! K, \, O' y/ j: Iitv_x=2;     %---根据实际情况来定
) z0 A% W2 t$ P* rax_xtick_low=x(1):itv_x:x(end);
7 v- ^5 D" U" G/ u

1 @( @: w5 I3 l" pset(gca,'xtick',ax_xtick_low,'xticklabel',num2str(roundn(ax_xtick_low',0)));& }/ I* C3 z. b, X
8 w7 ~% O' {  O" J! g' ]
itv_x1=roundn((x1(end)-x1(1))/length(ax_xtick_low),-1);         %---保留有效位数视情况而定$ T& M" X& T9 F1 x
ax_xtick_up=x1(1):itv_x1:x1(end);
9 R7 R& t  c- h$ F# T6 uxtick_loc=get(gca,'xtick');
! O  o# T7 ^) qtext(xtick_loc-5,80*ones(1,length(xtick_loc)),num2str(roundn(ax_xtick_up',-1)),'fontwei','demi','fontsi',14)
( b( F$ Y- V3 Y: Q0 F效果如下图:
! c! }% g& f5 ^7 Y6 p* `
4 O  R6 }: d1 S9 F
                               
登录/注册后可看大图
: e, @6 e2 r0 \* g5 [! P

) B' ?$ ^" n  \. m* F
6 ~0 T' l2 r, V) j9 n! }8 a5 N7.如何将x轴和y轴对调+ a. f3 z4 L7 J+ \' n3 a
view(-90,90)
6 P; a; l, m8 E) w! E7 `, I* v6 V8 Q3 d& r$ d- x

6 x, a6 y. C# ~' W( V3 c: k8.坐标轴ticklength的设置# A- l( {  {) ]3 H! t9 O) i* k5 y
set(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick')));%style 3  有效位数
+ e6 `: k8 \& S. Y% L$ {8 ]( V# G, m9 e) }1 r8 I/ ~7 {
set(gca,'xminortick','on');%style 5 小刻度打开
" M, `8 d8 P" o! hset(gca,'ticklength',[0.05 0.025]);%style 6  刻度长度5 r5 n" m( E) H7 B, z( |  B6 B' j: z
set(gca,'tickdir','out');%style 7  刻度放到外围
3 ?' z% y: H5 l& ]# z
4 x6 S. B8 P( h0 D7 Y
  M* N2 S0 ]4 j# h* g9 u2 ~$ @

: J. r( |0 c! D( Q9.坐标轴属性设置
" V+ L* F4 b: n% k, \
( v/ Q, x0 O9 ?$ yh1=axes('position',[0.7 0.11 0.1 0.815]);    % 设置坐标轴显示位置
7 b# u: N5 o4 ?  }. Aset(h1,'color','none')                    %设置坐标轴背景色为透明色
' f  D8 f- G4 d* i4 z) nset(gca,'xaxislocation','top','box','on')    %设置x轴在上部显示$ m$ Y* i! k+ m# W
set(gca,'ycolor','none')            %设置y轴颜色为透明色
. A/ e3 C8 B1 q1 g/ b& q0 w

' T2 h2 F' S) d2 d/ _% n
2 Q- b, L" ]! \5 L+ v                    * W0 U! t" v6 \& Z# R% F% h
7 u2 N9 b" V/ ]" H( k
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表