找回密码
 注册
关于网站域名变更的通知
查看: 562|回复: 1
打印 上一主题 下一主题

MATLAB axis和axes的区别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-10 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
& j5 z$ {1 Q3 T$ V4 d$ [
axis中文为“轴”之意,在matlab中用于控制坐标轴的范围和样式(颜色等)。  _% r% j) B9 }# A& l0 \4 b. ]

0 L; {( h( J3 Y$ c9 uaxis([XMIN XMAX YMIN YMAX]) 设置当前所绘图像的x轴和y轴的范围。4 b8 ~, U* P9 n% p$ U* h
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 设置当前所绘图像的x轴、y轴和z轴的范围。$ W9 z5 w+ e# G4 \& w1 g+ W

) k* p; [" \( V1 _: ?8 e7 n! U2 [- t例子:, S: T  X8 U2 p
% h" F  P' U: T. I6 J- o: T
>> x = [1,2,3,4,5];& ~) u1 ?4 N5 q' i4 s
>> y = [2,3,4,5,6];4 T  W8 t6 Y" E  h4 i
>> plot(x,y,'o')$ b5 b& ]) j" x* F
0 V8 l4 M3 r0 V) K8 T1 B8 h2 n) R
>> axis([0,5,0,6]);  %axis要放在plot之后( \3 K# f: C9 `# P, W
1 z( e9 d" R1 E+ P6 A# b
得到图像5 N9 y' [3 e9 K

* @$ \- B  a& T$ `8 k% R1 T% L( o+ M( ^- X6 F
8 w- A. X2 f! j9 X0 t6 v/ s
axes ★★★★★3 V) U$ \0 O' x% e; l0 N

0 n5 z% S- n1 a8 |  L2 s: t4 o+ b 8 q3 H5 n" ^& P1 x

) ]  O3 A6 N: E  D0 z' M  G功能9 m' x- x  I- c* c2 c

! X5 f" R& y) u: W  L. U' ^# ?" c创建坐标系图形对象( A4 G  r" S5 P9 i/ ~
8 Z: ?( ~  c4 F

9 j6 u& H7 t; s! C* i5 K( t# N" A6 X' A; o( ]
语法
0 I$ L: Z8 @" G
! P6 Z; p, `. b/ D* gaxes
0 R# w9 B6 {+ X  Eaxes('PropertyName',propertyvalue,...)9 z; I& w9 G' E7 D$ U
axes(h)" b' U1 }3 E9 ?/ f# ~1 ~
h = axes(...)' y( f9 E- o1 B) Q; h; }
7 U0 ?5 N6 z' l& L& O7 }, d/ @  V
) Y+ f# G* X  z0 c! K
9 S6 a: P6 @9 [; v' v: ]
描述
. l& q9 Y8 r' r2 ?' ~3 j+ H$ u
) a1 J1 W5 ~/ |: laxes在当前窗口中创建一个包含默认属性坐标系; U6 x) [2 F/ a7 E
3 T+ T" @. f$ t
; f0 u% v7 d5 G. t' L! U
axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxes**,当然可以在以后使用set/get函数进行设置/读取,坐标系axes所有属性参见附录
1 O& m: X- [" @/ j* U- ?. S7 D, w6 f" c( P
& h. P) }: h3 o
axes(h)将坐标系h置为当前坐标系,同时将figure中的CurrentAxes属性设置为h,并且将h排列到children属性中第一个axes位置。默认情况,所有图形函数都是在当前坐标系上绘图( N% V, H8 C% r6 C# ]7 O# I" ]

6 x& g+ v3 Q9 r2 h4 B- ^  W" g/ l) V& Q# Q0 k( x# S, n
h = axes(...)创建坐标系时返回它的句柄,方便以后操作
+ Y8 A# q% C! ^- X. A9 B) @- D, ~8 I% E4 B; P5 Q
( J' j, l6 r9 C. N) k
& J5 N. X6 }! R0 ^" R
注意" O: W# [: k& S& T
4 W! Y9 ^' z1 R) H. V6 F$ ]" x+ X
当在执行绘图操作时,如果没有axes或figure,MATLAB会自动创建一个axes或figure" ~( {( Z4 l( I3 Z  z2 q3 Y
- U% `1 X& s! r: _# i
每次创建新axes时,所有的属性都会重置为DefaultAxes**;正常情况每次调用高级绘图命令时,会重置axes部分属性,比如ColorOrder、LineStyleOrder等
- a+ n6 }* ]* e7 J) `/ G. x4 ~+ v9 r- V6 @. u* I
  i- j) j) a2 E% j) c: z# j3 Y+ Z

, @1 J2 i' A. o$ iset(figure_handle,DefaultAxes**,Value)可以自定义axes的默认属性
; j$ ?" y1 U/ r: Z- p2 W3 r( i8 `5 J+ r6 s' u& i

7 E; `& f# Y1 Q+ U( C$ T3 E! S
, X% ]7 W! n  G/ s9 maxes是创建一个坐标系,而axis是对坐标系的简单控制,比如外形、比例等
7 \0 i8 _- Z/ M4 X/ Z, D" _+ F* |+ x6 P
# a2 P. C; x; k9 Q, c

; D! U( a# u7 {" ~创建时有三种方式直接指定属性,无先后顺序,不区分大小写,效果一致5 u! q) A  [) m3 u
+ l' o) [4 x3 r0 R

7 |  A& K$ ^7 C3 W7 Y6 |
) l8 W0 {! M/ V  H8 Z) c& d" t(1)Name/Value配对形式
  o' o" f; Z' s4 K( N$ S/ F0 p
, r( m0 B+ R. s7 \. K" U6 Vaxes('Position',[0.2 0.2 0.6 0.6],'XGrid','on','XTickLabel',[])
4 b. Y1 {3 [2 u) U2 B9 }; d3 c0 {7 }. y) m3 X, I  _. e  ?6 O" s; x

, E3 O4 a) d3 z: s, }' r
8 b  t& [( t; a6 j(2)结构体形式, ^9 f) y! W8 C& i

& x/ ?  O$ \6 ?. w" L4 v2 Zpp.Position=[0.2 0.2 0.6 0.6];
4 W5 I: _/ ~8 n1 O! Q
( u* k+ H. Q6 o# e7 Vpp.XGrid='on';; C, P8 C  V, j1 x; w- _7 i
9 F" i# ^% j& D0 Z8 H
pp.XTickLabel=[];
, [( n% k$ d/ ~/ v: G- f2 G' m# y9 M6 p5 V+ }: I
axes(pp)" i( w) U4 |" {# h3 {' B

' l0 ?5 j: w0 G0 B3 S) {9 z) K % l+ j$ c: G" a0 V8 _

5 [  E, A0 j; \+ d3 y# F(3)细胞元组形式
- o& t& V6 L, t2 v7 W9 T
  G. M+ v6 M* L: W( }7 |Name={'Position','XGrid','XTickLabel'};
! a2 m4 v" I! @3 ^. V
# l- V8 P6 A9 `6 u5 _6 ^1 K3 N( {) NValue={[0.2 0.2 0.6 0.6],'on',[]};
# }1 O( j- r2 j% A- P7 y! F- k9 h/ e9 S: E, D( V: D
axes(Name,Value)7 w* g) m! c2 T" C# K0 t5 ^
- [# s+ b( J1 u& a9 S! W
( U0 K/ x7 j" L* Z% v. Z  L* ?# _2 U! p
  K% _4 Y8 W: ~0 \
实例6 Q) ^) u3 B4 N  A
. o: R; x* O) p3 G% Z" G
% 先创建两个坐标系,过程中指定某些参数7 a# ]- A4 K+ q6 S+ f# s2 r6 s- ~

; J% h7 @8 ~0 `2 U* Ph1=axes('Position',[0.1 0.2 0.3 0.6],'Unit','normalized','LineStyleOrder',':|--|-.|-');( g, L: \; N8 t
" b) M) C5 J1 b1 v/ O
h2=axes('Position',[0.6 0.2 0.3 0.6]);
6 i# p1 n0 S$ I, y  V$ o5 [( @! `- S" M2 C% t
% 将h1设置为当前坐标系,为绘图准备
/ U7 a! L' j+ Q' _. \0 w& h# o: \7 N) Z: U3 T& n& M& @
axes(h1)
: Z6 [" H6 d0 u% a  m6 B# S. J0 F; H& V$ X/ ^
plot(rand(10,3)) % 即使创建h1时将线型顺序修改了,但由于每次调用plot会将LineStyleOrder重置为'-',故这里是看到的都是实线
7 r) f2 h; V: G+ Q. P8 m9 j# N3 h6 r% S: _5 R8 f! |8 e
5 将h2设置为当前坐标系9 G, d/ T, n2 C  U

0 k' r, k  \# Daxes(h2)
) W8 }( q& k4 e/ z& w& z, C
5 p# s1 M, s6 h# n- U( s6 I9 }3 k[x,y,z]=peaks;, N% @- s; i* z) u# O

7 `3 _, B) |1 i. umesh(x,y,z)/ J4 A+ P2 {, |4 }4 l+ a

* t' N) {$ k" I4 b/ sset(h2,'Visible','off')

该用户从未签到

2#
发表于 2020-9-10 15:52 | 只看该作者
MATLAB axis和axes的区别
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 14:19 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表