如何利用MATLAB画出不被导师嫌弃的图像
/ M. N1 C2 L. \9 X) N0 _' Z! O" n$ u' f# u
什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。) j, U: K4 y# d% P
第一步 数据准备- z" U, e0 o& n- g# g: F
# [9 y$ f* C- P0 k( \2 r4 a: T 画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。
% g2 R& X- @" Z: ~5 Q- Wx=0:0.1:10;y1=sin(x);y2=cos(x);( B% _" x: R+ y" v! S+ F* i2 Q
x是横坐标,y1和y2是纵坐标。
% i2 h+ H3 ]1 K; ~4 _/ m第二步 画图$ N+ C2 C' y& ~4 K
M4 _) U2 b$ P w MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。0 j2 I+ }! J$ Q5 u
figure(1)plot(x,y1,x,y2)! \& w2 N- e& ^6 l7 v# m
. v' J8 N& ?2 Z4 `1 O6 z
6 i# d2 m7 Q6 `. A9 c% k 你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:5 ~2 O0 N9 ]+ G3 O+ `/ c- W
figure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on. w4 o4 b) P! X6 \" l6 [' S1 E
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
8 C: q. `3 w2 n; d" D第三步 设置线条颜色
% Z: [9 t7 T3 m3 W( c/ t& v @3 O8 K3 F
先给出常用得颜色设置吧:
: Y1 c" J2 C. x0 g9 Z" e
7 P, D$ w; \( U0 z3 |" N# V i; p+ n$ v( `( c+ U, u" g! U- H* ~
然后有了如下得代码:
0 t" H# U" g U* }, efigure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on
' q- f& @5 x/ ~& H
: S5 _# h, X& }: u3 m5 C w, `( r7 p: A! @
第四步 设置线型和标记。: \* A. N. ~7 ~
0 }$ E y4 H% v) t2 A1 ^7 {7 [( i如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。
1 Q. V" O, v7 E" P, t
6 L3 v/ Y. B5 E' r% X5 b/ ]. f
/ E: c |: X9 d* f1 ?1 p
) Q' j* l9 R5 C+ w. }# t
* m! m+ g/ H, k$ w0 ^' D
/ @. G6 h( A# Q3 t, o+ y& `+ V. g& a; [& }$ [+ r( h
用线型区分开来:' b2 |# W, p: H
plot(x,y1,"g--",x,y2,"b-.")
/ X' y0 ~, w4 x; M4 R0 I还可以在每个数据点处做个标记:5 V' E! P3 A" p
plot(x,y1,"g--*",x,y2,"b-.x")
, D: r4 U, V5 p8 b3 l以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。' x+ U% m& ~4 R: o
第五步 图例( f! Y! M" \3 P9 w* j: H
. M5 j& \. v. @( K& u马上就是最后一步了,直接上代码:5 c& t4 q) g2 `. `
plot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")
, P9 J0 s: }8 j' N- {
0 V$ m! L; P! n; f+ P4 R9 c* L7 m& o. S$ b* M
好了,这样的图,能看懂了吧。
+ }9 g; a* Q! O9 e/ e第六步 设置坐标轴范围
/ |$ I; Y% Q$ [* W
# B, |1 r0 W+ o, `/ b1 y如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
! o9 C# C* u8 H6 v& h9 [6 w' W用的是axis([xmin xmax ymin ymax])函数。% h+ l5 N% I* i6 \$ l- }% ?
完整代码:
/ d/ G9 S$ I* r: \0 c) m" R. o# Vx=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
" d$ T( j' f# R3 t
# }' S. m& q1 X2 A5 e+ b h2 A
; v6 o8 R2 g d6 {/ g5 I6 s" g% n0 p总结起来就一下几点:
7 m/ U" H( e2 R7 E5 P& C! w) D" v* ]- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围; y3 \' o. k# v3 Z, P
|