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

[复制链接]
1. 坐标轴位置的设置
+ \0 Z5 V# S7 rset(gca,'XAxisLocation','top')       %  x轴显示在上方
. j! X: D4 h2 l1 O+ e+ q/ v7 {" r" a0 L2 b/ o
set(gca,'YAxisLocation','left/right')& O  r$ K% N2 m8 m0 `
set(gca,'ydir','reverse')   %坐标轴翻转
; z; x! l6 c6 w  o
; _: b/ J9 U4 ?% ?text(1:5,3010*ones(1,5),{'201203','201304','201405','201507','201607'},'HorizontalAlignment','right'...
. ~+ @( Y% L7 x1 C, [         ,'rotation',35,'fontname','calibri','fontwei','bold','fontsize',18)    % 设置x轴显示斜度
& i1 X  Z" h; B, |" Fset(gca,'DataAspectRatio',[1 1 1]) % 设置相同的x,y轴比例刻度
. A$ F. h& _- F# Q
' D0 G' m/ z# K- F
* s2 V* ~, [4 N" Y4 d& E* s; q2. colorbar单位的标注/ ^% U8 G6 h6 A1 H
hbar=colorbar;
; |1 c; @# H' V4 Rylabel(hbar,'(cm/s)','rotation',0)   % 水平显示- {/ m, A, e' ^, C, i: I3 N4 s

* [6 W8 A4 L# S$ ^( F7 q8 V1 C
; J  r9 c* {$ c6 g- q+ ?8 f4 F& p
3.在字母上方加横线以及希腊字母的添加方法
( u) [7 R' `  }text(2,90,['$overline U$ =' num2str(roundn(U_,-2))],'interpreter','latex','fontwei','demi','fontsi',16)
* t8 d* F* X% A1 P/ otext(2,80,'nu  =10^-^2','fontwei','demi','fontsi',16)* @7 G/ M- H0 G! h6 i3 \
( `) ^1 ^. M* N6 d4 t) {% l
4.调换x、y轴的位置4 K+ h" q, H4 J
可以直接plot(y,x)" N4 u& A+ Y$ O2 s7 l/ q: R
也可以plot(x,y)之后,view([90 90])# d. l/ W, f) [( ]  B' y0 D

6 X9 P0 z5 }( `% m+ }* f
+ P& H7 h2 g: g0 m. V- N5.title位置的调整
2 a8 d  K4 W; \) B' E3 [title('y=x','position',[2 3],'fontsi',16)2 u( q" B* g5 N2 B( y, l, z

! Y  N5 B0 E6 ?" s* Z+ u$ ~" T8 R. P
, B' B$ q2 }$ a/ l6 X% T
6.x轴上下进行分别标注(如果有两个变量对应x轴,可以把两个变量分别标注到上下轴)
6 o( Z) z) f% [  w- U3 ~, zplot(x,y)" b. F+ d  s: K" |+ t5 Y

  B: @; [1 U5 H+ I- z. ?0 [& yitv_x=2;     %---根据实际情况来定# }8 Q% b" q7 B) y! S' W
ax_xtick_low=x(1):itv_x:x(end);$ E7 v! U. v! D- ~! s

2 ~0 n) F: Q4 S$ Q7 s: |set(gca,'xtick',ax_xtick_low,'xticklabel',num2str(roundn(ax_xtick_low',0)));; |& X2 v* ?* ^! d5 j! f0 T& e( q

8 Q6 c7 k/ S. a) U+ H6 S1 [! L! H+ }itv_x1=roundn((x1(end)-x1(1))/length(ax_xtick_low),-1);         %---保留有效位数视情况而定
* _; u  P7 z* Y3 T! T4 p$ i! [ax_xtick_up=x1(1):itv_x1:x1(end);, M" [  \0 j- A6 l5 d
xtick_loc=get(gca,'xtick');
- ?  c. H- C- M, q8 S9 j/ i& r) q/ D! Vtext(xtick_loc-5,80*ones(1,length(xtick_loc)),num2str(roundn(ax_xtick_up',-1)),'fontwei','demi','fontsi',14)
- J9 z/ ^7 O4 Y. c% k; Y效果如下图:! T) T' ?3 G. ^0 z+ O, z$ X1 I

: V" z  |3 R% |1 G                               
登录/注册后可看大图
  g7 c* G/ L& F6 B+ M
( R2 d' i) R, Y: o. ]; ]+ e. e

! J7 S. y* [% ?7.如何将x轴和y轴对调; U- s" [  B+ L7 A- _
view(-90,90)
6 l  @$ M1 B# C% @. [6 y- W/ d/ Y
4 s0 c4 Z3 n+ ]/ T0 U) \1 G* T
8.坐标轴ticklength的设置
+ V- G  X$ G5 P2 M7 `. Hset(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick')));%style 3  有效位数
/ P. E% f* n  P3 [0 ^1 X
$ v6 v/ m6 D" a1 z5 X' X8 @9 m# wset(gca,'xminortick','on');%style 5 小刻度打开. {9 c) F0 y  K5 f/ B' j7 _
set(gca,'ticklength',[0.05 0.025]);%style 6  刻度长度- Z, p3 E  I- h* }- M# |# {$ m& e
set(gca,'tickdir','out');%style 7  刻度放到外围
& X0 y1 ]& Z- n' u4 O9 |
9 C) I7 a+ s1 T" |2 A* F7 y/ o, t; G; @3 V6 }5 c
0 S( K. e( G# x* v; X
9.坐标轴属性设置
$ I3 c7 a# Q. v
9 y0 O, i8 c8 u* |h1=axes('position',[0.7 0.11 0.1 0.815]);    % 设置坐标轴显示位置/ `$ |! z1 b9 s" f6 n
set(h1,'color','none')                    %设置坐标轴背景色为透明色% e  e. u, Q; l: a+ O4 ]
set(gca,'xaxislocation','top','box','on')    %设置x轴在上部显示& r; g8 V: D9 y; ^
set(gca,'ycolor','none')            %设置y轴颜色为透明色# [9 ^- \0 Z" Z- R" d

) j' @- L3 v5 q- B6 m
  |* D& X1 X; u! m4 i5 C                    2 o* ?# F2 g6 y

; H# r2 V7 o+ ]1 H                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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