EDA365电子论坛网

标题: 在matlab中的figure对象你了解多少? [打印本页]

作者: uperrua    时间: 2019-9-24 11:02
标题: 在matlab中的figure对象你了解多少?
绘图窗口菜单File | Export Setup里很方便的改变这些属性,特别是Expand axes to fit figure,会更好减少空白边。
) w( X* K7 N4 [0 t8 \. p  O& t- |
设置好可以保存模板,下次调用,也可以将这个功能写到m文件中,自动执行
0 g4 g3 y$ c! g8 @, A% s! {1 y; {; L' J" i  |
1、Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
5 Y/ k! M8 a' Q5 y( @+ f: Y: e/ R5 B% X" s: z& O3 H$ ?9 e% d7 A) w
figure下面是axes。axes是那个窗口figure里面你要画的东西。axes的大小和位置取决于figure,如果放大缩小figure的大小,里面的图像也会跟着变化的。例如:
+ h$ q: I- {- d/ d4 Y6 ~
1 V; B# b- R" p# v$ A1 t(PS:gca表示对axes的设置;  gcf表示对figure的设置​)
9 D4 b2 w, ^6 i- I; c# ~3 C$ Z: x
" t- s0 j, S4 s# _" U+ i8 M/ dset(gca,'position',[left,top,width,height])    , H8 q# E  i! F0 f0 y
$ b: t8 h& r, k4 ~/ u) J5 q1 n
其中,left为axes距离figure左边框的距离​,top为axes距离figure上边框的距离,width为axes(即图像)的宽度,height为axes的高度。; y. F+ [0 n9 M: m
$ }% s. G8 E, c. E
因此,set (gca,'position',[0.1,0.1,0.9,0.9] )的作用是设置坐标轴距离画板(figure)边距和图像(axes)的大小,其中[0.1,0.1,0.9,0.9] 分别为axes距离figure的左边界为0.1,上边界0.1,宽度0.1,高度0.1。
1 m* }! N3 q" C: i' A' D7 J, q7 B
+ Y" L# Q$ a- f1 D" J9 _& Sset(gcf,'position',[centerX, centerY,width, height])
) g5 m# T9 A3 M( Y- Q2 D- N0 Z8 X7 C, O+ G4 `
其中,centerX为figure的中心点在屏幕(screen)​​的x坐标,centerY为figure的中心点在屏幕的y坐标,width为figure的宽度,height为figure的高度。
% L' q6 d- P4 P! R  j6 M0 S
7 F9 x! A7 j4 n7 c2 Y9 a4 ~

1 N( [  M4 `) o) l: b" ?' w! O- R
2 |) `, d, y7 v' Y8 ?8 e- O
$ ~- X/ X# ^- h* d: S+ R3 e
' P: d! J" e  p/ g; F

5 K0 e8 z* F6 c3 r5 F

8 V9 ^' [! a; ?: z' Z, F) v2 \/ e; C8 r3 m! p
- k% f8 \3 e* d

作者: kinidrily    时间: 2019-9-24 21:11
了解了,谢谢分享




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2