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

[复制链接]
1. 坐标轴位置的设置* t7 `; `  l: k9 M( n8 j* K. |7 h
set(gca,'XAxisLocation','top')       %  x轴显示在上方* L, M: ?# z* t5 \

* Y: q" Q- |5 U7 g1 R: ?set(gca,'YAxisLocation','left/right')
5 a! E5 ], k' C2 Jset(gca,'ydir','reverse')   %坐标轴翻转# Z5 b2 b# e/ E! h+ i9 q  i& d
  {3 Z( h& S: O3 V  R1 \: c
text(1:5,3010*ones(1,5),{'201203','201304','201405','201507','201607'},'HorizontalAlignment','right'...
0 E0 Y% N5 X  C; y- I         ,'rotation',35,'fontname','calibri','fontwei','bold','fontsize',18)    % 设置x轴显示斜度3 ]  l2 e! l* @) _
set(gca,'DataAspectRatio',[1 1 1]) % 设置相同的x,y轴比例刻度# {+ ?8 c$ O8 @- x. N* W8 X
# |6 _: g0 Z! n8 H% V+ O2 h
3 i* j: k  S& a" n; b( F+ Q
2. colorbar单位的标注# ]2 J$ O$ X4 s) l& F9 r) B
hbar=colorbar;) y* A* c3 s! q: g( c. F
ylabel(hbar,'(cm/s)','rotation',0)   % 水平显示
3 C6 n5 @" P# I/ H1 e  S: ^  j+ g& |

! X# X) ]% u& Q: V7 W% H' z, E  g# p3.在字母上方加横线以及希腊字母的添加方法9 X! ?; d. E! v4 W. ]" N) [3 F
text(2,90,['$overline U$ =' num2str(roundn(U_,-2))],'interpreter','latex','fontwei','demi','fontsi',16)
1 H* w! t; W, T; B9 Dtext(2,80,'nu  =10^-^2','fontwei','demi','fontsi',16)* ], S" L- X1 t3 L; k* q$ y% i' d
$ {# B# C, t/ W% _
4.调换x、y轴的位置0 }$ g, r6 h0 h1 X# [( p# ^
可以直接plot(y,x)! M% t1 _4 D% x' Y
也可以plot(x,y)之后,view([90 90])- U; p- Y8 {9 N" _( q

* a" Z& i) p2 B& |
3 w6 Z1 Q, [1 s' P/ m5.title位置的调整
/ `, c/ f$ {) h. rtitle('y=x','position',[2 3],'fontsi',16)9 `* u! p, l/ h. P8 I' j) ?" O

, d. W/ a9 O# i+ f: Z

8 F3 p* N# Z' J1 e. M: y# `6.x轴上下进行分别标注(如果有两个变量对应x轴,可以把两个变量分别标注到上下轴)2 t; [2 f, h5 n* t) C0 I3 e6 m
plot(x,y)5 n! r8 E* f* V& W2 P2 `2 g
5 S9 V- J" f( N2 P& L
itv_x=2;     %---根据实际情况来定& f, Z, U3 e, n( S$ X) r
ax_xtick_low=x(1):itv_x:x(end);  Z9 m! X& C) L6 c7 f* j

3 _: s2 N# g+ B1 s- M6 F. w4 Dset(gca,'xtick',ax_xtick_low,'xticklabel',num2str(roundn(ax_xtick_low',0)));* y: u; l  A/ P* @& i( m

+ v2 |9 N) h! a+ c# }) qitv_x1=roundn((x1(end)-x1(1))/length(ax_xtick_low),-1);         %---保留有效位数视情况而定. p7 V' Q! p. i
ax_xtick_up=x1(1):itv_x1:x1(end);
! r0 \! ~4 J/ x4 _0 {xtick_loc=get(gca,'xtick');1 V0 r, N+ y+ v! Y4 f/ J1 q
text(xtick_loc-5,80*ones(1,length(xtick_loc)),num2str(roundn(ax_xtick_up',-1)),'fontwei','demi','fontsi',14)
! H- t4 t% _7 M' w- b* [效果如下图:
3 g. Z8 a0 N3 k! v3 ?! Z
6 [3 p; P- {; V' w6 N( i* Y6 u
                               
登录/注册后可看大图
& C* u4 z/ `5 b& _  ]" ^/ A

* E3 C6 S% V7 r6 F* s& c! i' N6 V& E7 G' u2 R: u. B+ A
7.如何将x轴和y轴对调
: X$ i: G# n( Rview(-90,90)! }% P/ U$ W9 E. r! D/ L; {

8 z1 k2 Z6 C- A
$ a" d# ~! s  i% I. W9 Q8.坐标轴ticklength的设置
- `* V4 i' s9 q" ?! ]% s7 sset(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick')));%style 3  有效位数' i% y; D2 n* o& L; r
* c$ w6 H2 [, c9 O# y
set(gca,'xminortick','on');%style 5 小刻度打开! m) m' Y  p4 j, e
set(gca,'ticklength',[0.05 0.025]);%style 6  刻度长度- }9 v( T+ {1 A# ]7 Y1 t
set(gca,'tickdir','out');%style 7  刻度放到外围
: g7 m7 A7 W* @  q$ v' V# a: d+ l, S' A, k3 G( Z

3 e# \7 F( @; V/ u9 q6 @
6 y4 z8 S* U# I: \5 E6 `
9.坐标轴属性设置# X& Y2 r3 @. s4 y
: m" Y7 Q( O: s
h1=axes('position',[0.7 0.11 0.1 0.815]);    % 设置坐标轴显示位置. m9 c; i, s& S2 p$ i0 f0 q9 c
set(h1,'color','none')                    %设置坐标轴背景色为透明色% c! s* z7 W$ m3 ^3 h
set(gca,'xaxislocation','top','box','on')    %设置x轴在上部显示! h0 C  P2 `+ y# \# }! c$ B/ j; l# j" t
set(gca,'ycolor','none')            %设置y轴颜色为透明色
6 |) E( ~) d: z& e; b* P3 L
0 j. }$ g0 n: i4 z0 @3 |8 S
. A( _# I5 X# f! M. }- C. O; j
                    
& a, u, L; _& N& V8 e/ l7 X5 y7 Z3 _$ G' u  `
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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