如何利用MATLAB画出不被导师嫌弃的图像
( u' o$ G" n& x; n2 X7 h" ?
1 z9 a! r _$ T. W( Q 什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。, _* f7 Q- f, H- |
第一步 数据准备! x2 N }$ S" j7 q' Y0 r
) ~/ r& Z- b8 Z( H8 f# b 画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。! y/ u$ ]6 J3 N5 R; |* d
x=0:0.1:10;y1=sin(x);y2=cos(x);
( @" l5 w$ Y% B3 {) T& Zx是横坐标,y1和y2是纵坐标。! C9 P! `8 Q. X( M9 b. d: c
第二步 画图0 ~! m! p" P" i' }" M2 ~
# w4 e& X6 j3 o% W MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。% y0 l- B7 d6 Z4 n; J9 Q' i% | C+ i5 ]( J
figure(1)plot(x,y1,x,y2)( k: ^2 [+ u* m* X E! h3 q+ [
8 ]% \/ a Q3 I5 @; D7 Y; R
5 I: ]6 W2 V3 u( e3 o9 h) {" v 你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:
; _2 Q, k1 s" `# }; g" Bfigure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on; d/ H9 e- K# P3 \0 [$ `8 G
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
0 y2 u0 t" v! C$ e第三步 设置线条颜色7 e# R# t0 o, x) t# N" l, d2 E" @$ n3 M
) G% H7 C1 L; C: C5 O' _& _0 k' q
先给出常用得颜色设置吧:
; C% @# r2 z' q" H0 I
0 `( v2 X F3 w k+ C
* |0 ]+ ?8 Y3 P8 _, h然后有了如下得代码:" l- G6 H4 i( T/ a) t: [
figure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on
' h9 B- R# z$ C0 P; m+ a5 O$ t
/ ?1 M" E, d( |& @
9 M: l Y. C. R3 R/ w第四步 设置线型和标记。# Y. Z0 G8 q! d
: P9 o( \$ p7 _8 `如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。
: o/ _: y9 y$ X+ V
; J" S+ G4 G% T U* a% h+ h2 [& J( z: J6 |" w
: R% G; f$ V* Z1 e( P
X! a/ ]/ b5 B2 \; p
8 R( Z: Q y" {5 H" A. V4 n. [/ J) `: v8 B
用线型区分开来:& p& L; V. B7 K E0 T
plot(x,y1,"g--",x,y2,"b-.")
0 [4 h }4 u. H, f0 L还可以在每个数据点处做个标记:
* M. p& B! o& e. P' tplot(x,y1,"g--*",x,y2,"b-.x")+ ?( T0 Q: x& _/ E
以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。
5 M9 s2 I/ u9 o, b第五步 图例
8 {. M1 V9 e$ [2 n; V/ d$ [/ l# B( X7 x: M) N) ]
马上就是最后一步了,直接上代码:
- }$ y5 K9 q( ]/ d" M+ q* cplot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")
( h; R" A5 @- ~
& e+ k" F# h. \# s2 u4 I+ v" | A' ?* K% x7 ~% V z
好了,这样的图,能看懂了吧。
9 ^7 Q3 n0 V8 d* {& F) r6 I2 h第六步 设置坐标轴范围; b8 P( Z1 |* X T r3 y' t1 z& P0 w
- M! v0 m( R; {. B6 V: |. w
如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:% G0 {" `$ ^, m/ {) \1 Z3 _
用的是axis([xmin xmax ymin ymax])函数。8 C% X- z2 F1 j4 [- n
完整代码:0 R' I5 D/ U# l! C6 f* Y
x=0:0.1:10;y1=sin(x);y2=cos(x);figure(1)plot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")axis([0 10 -1.2 1.2])title("正弦/余弦函数曲线")xlabel("相位")ylabel("幅值")grid on
, C1 \, [$ K( W; c7 I9 l* A& W5 `; A8 E$ z, W. v8 p
I" l S, @! H2 g总结起来就一下几点:# ^( l8 \# D$ U% m
- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围; F S; e! I* m# }. s% n/ H% I
|