如何利用MATLAB画出不被导师嫌弃的图像
" U5 |% A) S9 ~, v$ l
" Q+ K% |% k0 O8 d' a* q+ @& F+ E 什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。: O) `. L- P3 ? {, ~6 r
第一步 数据准备
& X1 G! }$ j- ?) G4 V2 K7 @* @: }5 i/ W9 ~ B3 z5 x/ s
画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。- N! ^1 Z3 P/ T! B
x=0:0.1:10;y1=sin(x);y2=cos(x);
/ y( K' t9 I% {+ v. N/ Ux是横坐标,y1和y2是纵坐标。
. G, T2 U+ K' g7 H, b第二步 画图
; p9 p9 t( Q, P/ T, W- o) P; C5 d6 F/ W( ^
MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。
% \$ j) t* l4 j- N* p U6 w0 H$ Sfigure(1)plot(x,y1,x,y2)
7 y S* l7 X! `% `" p0 x" K+ H( q a& N2 @8 b9 F, o
' L" w- s2 D" C 你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:- @) l+ i/ i: ]" m/ l1 N9 J g' A
figure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on" _' }; S! r1 C4 E ~
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。7 k! i/ {; J, c& J0 s( e$ R8 t( ^
第三步 设置线条颜色
! Z" U: q4 K; {9 K" O0 l5 W( S( k3 n) F. K
先给出常用得颜色设置吧:
i9 v9 l0 S% D. X8 U9 p% @: f) d; l* M( ~: b& w0 B9 m) l: `
: }5 ]$ D |% F3 z5 }' @! I
然后有了如下得代码:
0 N6 C; N6 D% [2 L) o! A7 ^figure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on! _: ^# E. I: a# c, O" O. t
$ S0 D! z' t- a" O# R: h6 g& y
8 d {# t% F/ f
第四步 设置线型和标记。
8 k4 i* v# T. \; {% Q, C; q
8 P2 d) o5 s2 |5 o" O, _如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。( j9 ~ z5 b7 \5 {. P
: p9 V* m% H5 c% p }( w
/ r* S- c9 P8 |% T j+ e( B( A8 {! F1 W+ v: z
( x7 u: W0 g1 ?, Z8 ?: s9 e
9 @! o) A$ e9 H$ g! _& z. N6 s9 _* P/ z
用线型区分开来:
% S+ ?$ V3 E+ v- r3 M" jplot(x,y1,"g--",x,y2,"b-.")
- V0 Y. l/ G; z5 P j7 M$ Y还可以在每个数据点处做个标记:
+ T9 a( v2 @: b' F2 pplot(x,y1,"g--*",x,y2,"b-.x")
4 T# Q5 u& z" i$ }) L. m; P以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。8 ^1 z/ [- F1 V) d" r
第五步 图例
: g& V. G2 H" C) |( [' F4 k8 } S7 t# k) G
马上就是最后一步了,直接上代码:. R/ i% |! V: g
plot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")- d: J% p- {) ?
6 V$ ?6 d0 u0 o# E. x B N" Q
5 u. |! c) n# c% i/ f9 u Q好了,这样的图,能看懂了吧。# S) o7 D. Z7 p1 E+ a) o
第六步 设置坐标轴范围
* z4 ^$ C) f3 A* c( N( p) E8 z x/ B+ s9 R F1 \# o
如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
' D4 \6 h( Q" p( m6 T9 ?用的是axis([xmin xmax ymin ymax])函数。" n2 E5 [! K$ h
完整代码:& e5 k! D/ W* D+ A" u* W
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
7 A. g' `2 S6 e8 J [9 f. F2 `8 |" Y+ ^
, ?* T1 W* W# V9 U) s总结起来就一下几点:
) H# Y% R, s& C: C3 A- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围
9 D3 t7 H- t3 n$ W- S
|