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

MATLAB axis和axes的区别

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

9 W7 s8 L6 J2 d, Q  Oaxis中文为“轴”之意,在matlab中用于控制坐标轴的范围和样式(颜色等)。
* U- l. s' x, ~8 V, M
: }) ], X+ A$ e% Saxis([XMIN XMAX YMIN YMAX]) 设置当前所绘图像的x轴和y轴的范围。2 x! V7 M* {4 z( o+ V. Q+ h& ~- O
axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 设置当前所绘图像的x轴、y轴和z轴的范围。
  v5 b6 x: n( i7 q* M5 J6 K+ B9 {" x
( L' x' j" y. B( j例子:
6 y$ F5 O( b2 M" n' S8 p! h, z! O- v- _& i5 Y* p( {
>> x = [1,2,3,4,5];
9 j; Q, L0 H/ J9 K$ {  |/ Y>> y = [2,3,4,5,6];+ E1 u2 V1 r1 g7 f
>> plot(x,y,'o')
( q6 q3 T2 R* T6 Q4 `% f3 H
) P3 v4 V- |7 E7 l9 O>> axis([0,5,0,6]);  %axis要放在plot之后1 Q: z$ T5 b, m3 m- x
9 Z% O7 H; b7 k; h: R- @4 y3 Y
得到图像- Z9 y, E4 k. I+ |

8 t1 H5 Q8 D$ V' A& O4 r* W, S1 d7 j9 V8 U& q) |, H) _
( X/ }$ k- C8 g) V7 m+ V/ c% T
axes ★★★★★
0 Q2 @- b" E9 W" q
+ s+ W( l# ~7 S; N" e$ M$ w
8 l, Q" y, W+ ~6 a
' c+ x' _* V7 f5 e- \" v! ^0 Q( f4 J功能5 o: n3 {1 n! V3 O

9 B+ ^7 R" b; H& q1 h( Z& m创建坐标系图形对象5 y/ b: z% ?+ {7 F' _
/ f% G; P+ _' B1 }4 a2 ^
) n, w0 \; [9 w4 ^2 u. `7 ?

, Q, Q  h! ?6 \3 e: F语法  i( a1 @: M& v( s' Q8 [4 s
3 T& |! G& e4 I2 B( j& T
axes
+ |2 j3 Q' _8 Q0 |. Gaxes('PropertyName',propertyvalue,...)7 f) n- k5 t: X3 c$ \
axes(h)
3 T6 y' F% w2 g9 W7 c' g+ dh = axes(...)2 |: E+ U, }& f  k" _( ]6 D0 Y9 a
4 X* R3 B+ g1 [7 H+ v- f  S
) m8 Y$ T' J( r5 e) M

" C9 N% u. ]& \1 ~" h8 ]描述2 d9 p4 ^1 E  r, r
1 s4 g0 A( m# K
axes在当前窗口中创建一个包含默认属性坐标系
% l, M" N: @& [6 }9 h) M4 G: u/ s7 O+ ?9 m

3 e% x$ l6 t8 g' J" U7 N  `axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxes**,当然可以在以后使用set/get函数进行设置/读取,坐标系axes所有属性参见附录
6 O( z5 [9 S- a6 v" g5 c
$ G( W" |( K! o7 t
, @; u4 v% w( xaxes(h)将坐标系h置为当前坐标系,同时将figure中的CurrentAxes属性设置为h,并且将h排列到children属性中第一个axes位置。默认情况,所有图形函数都是在当前坐标系上绘图1 @7 |, j7 l1 p
  V" }$ G6 B5 G  \; S8 `+ U. b  V9 M
  n0 c8 A( U" s% r# l. X
h = axes(...)创建坐标系时返回它的句柄,方便以后操作
. Z# P8 x2 M' E: a' n5 x
" I! C& L+ j9 U8 J& z % a4 O- q/ g3 c# B! d! Y9 @9 H
  ?" a' k3 r' p; M, }
注意* q- I- O* Z, |) H) [0 q7 j7 O1 {9 t
) ~1 r9 b' T9 u4 v4 ?$ u
当在执行绘图操作时,如果没有axes或figure,MATLAB会自动创建一个axes或figure
" e+ J1 x- \, ?
3 K. p7 D" k4 A: z# `每次创建新axes时,所有的属性都会重置为DefaultAxes**;正常情况每次调用高级绘图命令时,会重置axes部分属性,比如ColorOrder、LineStyleOrder等! Z2 _' H1 b% F1 T9 U5 [0 g

5 g$ y( C. w. L8 z1 d 6 y- s' |% Y6 C/ g; q
8 p0 a) u; ^8 Q) B3 G1 T9 R2 O
set(figure_handle,DefaultAxes**,Value)可以自定义axes的默认属性4 O3 `+ m: Y) h! C" c2 L, Z

! S9 k/ M, O6 p3 d" z: j
) O4 |7 C0 V9 q1 d. u* u! }
4 p  P1 w( s# Y  m8 taxes是创建一个坐标系,而axis是对坐标系的简单控制,比如外形、比例等
+ m& ^/ S% G+ O: ^6 y/ X
& B; U3 t1 e6 q  {
6 S/ ]0 ?  X0 ~' F# r4 v) T. m
" T/ z. b/ y0 n4 \1 I创建时有三种方式直接指定属性,无先后顺序,不区分大小写,效果一致
3 C( F8 p4 q, R* E9 F
% X' ^8 `5 F, _; ~8 p 8 D/ c- N1 _# h. m0 O( c" I

: I, ^! l+ d. k1 y# f' e(1)Name/Value配对形式
; W+ `8 a: `- L# s& C, s
; a( K: B. d/ d! A" zaxes('Position',[0.2 0.2 0.6 0.6],'XGrid','on','XTickLabel',[])
' x- I. U5 a3 r, ]3 O9 M; Q) \  p, o% w" G

* \0 \! Q/ S# a  R1 _& {9 i$ [, ?, i5 @( @; D! |$ N
(2)结构体形式9 k9 T$ U3 H6 r# X) _& H5 Z
6 M, r5 J: j3 q" e9 o  T8 \* G
pp.Position=[0.2 0.2 0.6 0.6];/ q% s/ P( c) R6 A5 l) r6 f

+ q' A* F/ H( e. m5 f3 lpp.XGrid='on';
: V0 S7 F* _3 q0 d: G0 s- S4 Y" E# u% {, C+ p: E
pp.XTickLabel=[];. }. ?, l! U8 j9 a0 B* {5 h) l

7 y+ K4 x2 {, a* _8 g: Eaxes(pp)9 ~9 c9 i# |3 U3 n

# L+ I. S/ Q% k- |* O4 f( m8 q
$ {  N' T; X* L4 `
7 ^. Q- g# c! x(3)细胞元组形式" N4 y) @1 A( l4 B1 J6 f4 A

8 K1 C5 n5 i( c: OName={'Position','XGrid','XTickLabel'};
& E" G3 n( q( g3 J
- E, k5 b+ w; U5 a) SValue={[0.2 0.2 0.6 0.6],'on',[]};8 y/ ]1 M$ `8 t: c7 ^7 y: M
8 x" ?5 M6 z: P' w. `
axes(Name,Value)
3 K4 f' ~. ~1 F0 S/ Y4 y6 L6 J
' w9 h8 K* I2 o4 B4 u2 U' u$ A, h, G
) A& T6 n3 j7 o. j3 V- S
( D  l! @8 h' {实例
; j3 l& |1 \5 O# Z# |, _; i& |/ Q
% 先创建两个坐标系,过程中指定某些参数* C) d$ w4 S) F9 {  ]

7 `# U0 \! Y6 @+ F, y: N, Lh1=axes('Position',[0.1 0.2 0.3 0.6],'Unit','normalized','LineStyleOrder',':|--|-.|-');$ |/ X# e: C5 h# \' Q0 e1 ?

* M+ C2 s: I: I; rh2=axes('Position',[0.6 0.2 0.3 0.6]);
/ x# N6 z; X% _! z
* [" S3 V% p: P# E* o, U' @% 将h1设置为当前坐标系,为绘图准备3 w# m& N7 K- t' q4 z$ Z
; ?  H; a; e: i/ ?
axes(h1)
7 e9 c" g, k, y& p$ [$ R; a6 k; T4 L0 A* n$ K  W( T+ D. p# F* n
plot(rand(10,3)) % 即使创建h1时将线型顺序修改了,但由于每次调用plot会将LineStyleOrder重置为'-',故这里是看到的都是实线3 t( O+ C9 s0 @' ~7 \# R; k
( p8 M% F! `. z4 w7 P
5 将h2设置为当前坐标系
' e$ p4 k, s$ S2 m$ d8 a7 h- S- s2 t7 m: A$ W  a+ O# T8 X0 u$ A& ?
axes(h2)
5 y( M- N% }7 u- B) Z) d% H$ v2 A6 ]4 t8 G/ v. E9 e3 x
[x,y,z]=peaks;4 V7 G  r8 R; j  P) b

; W+ S! H0 v; w0 b$ Lmesh(x,y,z)/ w2 D3 x1 J; ]' K' L

) o2 ~4 y5 m: L) G4 |" uset(h2,'Visible','off')

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-15 22:15 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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