如何利用MATLAB画出不被导师嫌弃的图像
/ t3 f! \4 Q# ?- J5 o% Z+ y9 |3 l: G# p# d* n
什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。4 I& F) B. \$ p1 @- b8 b: R
第一步 数据准备
% Q: A+ r5 u; \* U# ~( `9 ]( ]" O; R! ?
画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。/ l8 f7 ~( p1 u/ p
x=0:0.1:10;y1=sin(x);y2=cos(x);
: ?8 q- P: O6 P% a0 s+ ^x是横坐标,y1和y2是纵坐标。$ F* F- K5 E" z; O' T& S* u
第二步 画图# d4 V) u0 G: F: B
' X* o) m+ z4 l' D. R+ E
MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。
7 w9 p2 O' Y( D1 J# `figure(1)plot(x,y1,x,y2)
2 w, ^# U) C8 a) T4 e* s7 A4 {5 s" s5 ^/ y
6 _' u' z* x6 z/ g' f& k2 S$ @
你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:6 \. ?! B! K7 X6 i7 w: |+ D4 ]7 e8 E
figure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on- Q; {7 W, Q# R$ Q
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
/ Q& R9 t- M' I6 e9 ^: h第三步 设置线条颜色
& ?6 o8 a3 n/ W0 p9 O B7 j& k0 u
先给出常用得颜色设置吧:
6 g& l7 Q# L* `( ?/ D6 R6 V' v6 V3 m5 u8 D
% t; P7 r; m( P然后有了如下得代码:+ u3 I2 ]& L- y$ g4 T
figure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on
& _1 o' Y0 W: z& {% p4 s
" c7 V% S4 d2 Z
' H5 V( A6 T& z6 o, q- y第四步 设置线型和标记。
0 a1 q8 }7 g7 f9 U" ~$ L, N
" M1 _4 T' i- L$ i5 l* L如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。! e' @5 E+ A# Y/ |
" p& B, c) A& X# ~. Q, z
8 H) C1 c% O/ _2 R& O3 B* Z8 F. H
, `, t' }2 l) E0 Q: y% I
, Y2 \5 P- @+ k0 [+ F& n4 Q# l4 n( g5 P7 g+ |! G6 b
用线型区分开来:. w2 N5 y9 q# [
plot(x,y1,"g--",x,y2,"b-.")$ g* C% }/ Y5 q. v$ e
还可以在每个数据点处做个标记:0 W0 f! X7 a) G4 s
plot(x,y1,"g--*",x,y2,"b-.x")
. _' E! v4 H- ~8 M( Y以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。
# w- k# m1 |+ |- x3 C6 A第五步 图例
* j6 m/ J+ x+ i+ C2 N
: r6 @- x/ W: F. }1 u马上就是最后一步了,直接上代码:1 _. A$ o4 u7 K. t/ V( x
plot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")% @" C' o! q! E' J3 u
! E9 _: L2 |" w3 |
! t. g( N0 T7 R! D! u9 H* n5 J好了,这样的图,能看懂了吧。
5 S% I; P8 \* B; K5 s! f第六步 设置坐标轴范围
( L* h( O9 H; q$ {9 Q
% S5 j4 V6 U- x/ G) D$ \如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
8 b3 B6 W0 S) h# T% k2 ~用的是axis([xmin xmax ymin ymax])函数。
+ \+ ~# G) K9 W' n- | m完整代码:
* t% T; Y2 a, mx=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
c' N9 U% G" h" n" B7 v7 C' T1 [2 o# N4 T9 j. a) U* s
+ I3 \% u, Q2 D& n k总结起来就一下几点:
, H- E5 q! w: o/ q! k# [# I- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围
. ~4 r# ?+ S2 |* C# {4 U* ^
|