如何利用MATLAB画出不被导师嫌弃的图像
/ `1 K# M4 b9 _$ W; R% Q9 n) r4 b8 g7 O2 U
什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。
! ^3 X- D+ Y/ g) g第一步 数据准备8 L7 d4 y) {% a' L5 @& ~7 t; m8 k
4 c; ?& O5 D, I( y& z8 @6 c v k
画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。0 T7 m3 X, K( l# i: i- v1 X/ L
x=0:0.1:10;y1=sin(x);y2=cos(x);- r2 F+ K+ Y. k" R
x是横坐标,y1和y2是纵坐标。. a% Y# a: ~. B( ~# y" h# W3 ^
第二步 画图, G6 _2 }6 r& e" [
" v( t+ Y: K7 H, F+ C S8 F2 A+ C
MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。
! o! ?5 y; b# q; v4 J5 S! ?figure(1)plot(x,y1,x,y2): L* X* ^3 H+ i" y
4 T. j1 O! A% p1 X9 ^: \5 a1 {$ Z8 u: h6 ?$ p4 a3 X
你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:
+ t1 j5 P! _0 D- Q& `figure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on
$ k+ q# F4 W" w0 ?' z% e现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
: }+ g! T, t& t第三步 设置线条颜色
) w5 [3 A6 r7 M6 N6 ?/ R' `) G: B
0 w n6 C* ~& C( U- h( T2 n1 Q7 h先给出常用得颜色设置吧:
- r) K! E) B- F4 k; z" e6 S- o6 p% w! n `
7 l# K9 r9 ?3 P5 B; b/ x
然后有了如下得代码:
$ I: b7 ] U; Bfigure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on
! U* ~2 m, g6 u8 A4 ^% w6 e8 x- K. h5 F' d2 [
1 R. x2 E8 I8 v: m1 I# \( `
第四步 设置线型和标记。
# X! z. b$ l, B4 y/ @9 u! `9 {" H7 \+ J" t
如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。2 `! |, ]2 g7 f! J
3 y4 j% Q! m, F- x0 Y/ k: @( J
+ t! I( p3 J/ `1 q
: S7 r, C; S8 n8 B6 I) X/ }# ?8 b! x
- `' F" z) I: u$ t/ K3 u, S: y( j) Y. ~ g8 |1 g) i
1 O, }2 `8 u8 a用线型区分开来:
% t) k" W4 C1 ?" Y5 J$ Zplot(x,y1,"g--",x,y2,"b-.")6 d! ^# Y( C7 v7 @
还可以在每个数据点处做个标记:
5 M* }: W1 L6 i( a( j+ I/ Hplot(x,y1,"g--*",x,y2,"b-.x")
# ^! N9 [+ Y: O' u$ k1 ~0 N8 n以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。# J1 ^; N0 y2 }8 I
第五步 图例
: |" t# ~1 m7 n r6 \" W. E- h6 u3 J" ]. `: h$ m
马上就是最后一步了,直接上代码:
( e0 T9 K/ `( X5 A# \/ splot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")/ `& y# I+ B) V# U, s' y$ }
. @6 a+ v' b' L( Z, P" E, l; F
r X W9 I1 E+ p5 i3 l好了,这样的图,能看懂了吧。
6 V5 U7 F' H7 ?% [/ N- G第六步 设置坐标轴范围* G- v- ` V) i
# {( @0 z& S2 a$ }7 d% h8 e如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
$ Y0 b+ @# z4 f C. J c$ l( T用的是axis([xmin xmax ymin ymax])函数。; @+ u f+ V3 P [7 y" Q( }- O
完整代码:3 ]. F6 v/ ~3 i6 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. o9 s* o2 i+ `. K l6 ^5 q
& S' l; A0 _" u6 Q1 |
?$ }* Z4 M- h. b8 x) Y总结起来就一下几点:8 I: h- E$ g3 a! A/ Z
- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围
/ S3 b2 a$ v6 f
|