如何利用MATLAB画出不被导师嫌弃的图像
2 d% O5 C1 \9 R" ^# U
3 d% y$ z0 b) |3 N/ x& x5 v. y 什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。
( M q8 d: {6 w$ @8 r第一步 数据准备
! z2 l; X" U4 S- ]( N( g8 _! ^% a% K. D4 z
画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。
$ h( V( d2 F8 D" a1 zx=0:0.1:10;y1=sin(x);y2=cos(x);, q9 y' f% A8 E0 p( q$ N
x是横坐标,y1和y2是纵坐标。
+ _; H% e" n# @1 @( S第二步 画图
& a9 ]0 }0 V( ]
, C" p. S: v/ S+ u A MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。1 d% h+ x @# c3 o& e
figure(1)plot(x,y1,x,y2)
1 {1 w: {+ i3 ~! N( k. q! W
7 ?" A7 F$ X' ~' i% Q) T9 }& v
& q6 g* h# m9 w, i: V 你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:9 B5 t1 z! @% S# R
figure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on. `" l) K' L+ v0 B0 y) y! ~" k
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
6 L" s. W3 b& [, _6 Q+ M4 ?- [, b第三步 设置线条颜色1 G: q7 Z0 Y; }5 Q) l
# S# v5 ^5 Q$ Y3 c7 I5 a
先给出常用得颜色设置吧:! z# }0 _! u/ J2 e2 O
- M4 h) y' {, ~$ G" b
+ r2 a: u' j; U0 N1 d然后有了如下得代码:+ M$ \$ f P- Y: @( {0 D
figure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on; M2 B) z0 A9 h+ J9 S
: v. S& j( C0 D$ s" {
$ P* R5 Y+ J: ^0 F6 E3 j" r第四步 设置线型和标记。3 b5 T3 Y8 T. v6 g
) `7 L, Z) U( y v$ }$ O3 b如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。" U1 {- G$ z# w0 S D- H8 O
7 k% V0 k6 w9 N& t( e
3 z" c& A/ E! d
9 n# q% w; x) I* e. f. A2 G; }
6 E) U# j5 v$ B' T$ {2 o& D6 b3 s3 D4 K" ?8 O0 ^
用线型区分开来:7 a, m" e- S! \$ h5 J
plot(x,y1,"g--",x,y2,"b-.")* W# D Y' C1 j/ `7 O2 m7 i8 \
还可以在每个数据点处做个标记:
( G7 G% A; q/ v0 Z* F$ ^# `( i* i0 _5 ]plot(x,y1,"g--*",x,y2,"b-.x")
& t+ ~/ ?) | t4 b& u% z以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。
% R- s6 i* ?1 Z+ `/ S第五步 图例( l. Z4 p' ?- m& _' W
% C; c% R' A; ?9 B马上就是最后一步了,直接上代码:8 m8 @4 J: R5 i: {" H! q& N
plot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")) B" R2 H9 b8 s9 L
: v5 W- V5 d) J4 F) O
# A. K, u4 |4 x; F1 \3 w2 p好了,这样的图,能看懂了吧。! f: h6 v! W3 l* n! C
第六步 设置坐标轴范围, l* E2 q, w) y& j
! J5 d7 A7 Z# p$ p. |, C/ }; ^如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
+ G$ l1 T1 q$ N. u用的是axis([xmin xmax ymin ymax])函数。
4 S$ X$ @, b x4 U: i/ y( j. J完整代码:6 c5 `- }- j1 z: g' L" l
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
+ i% [% C7 Z# B! h+ b; Z# G7 T
8 I/ ?: }. K1 _6 j' u: o6 g
( ~# Z4 w! ~" i- N. [3 N. ~总结起来就一下几点:7 t( ^/ M Q2 {* d. U
- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围$ w) I% R5 T! ]! E) g
|