如何利用MATLAB画出不被导师嫌弃的图像
% n: p% B, E1 z7 Q# a' E( J5 M& c9 V' q3 h$ w7 q
什么样子的图不会被导师嫌弃?当然是能够简洁、清晰的将信息表达出来,让人一目了然的的图了。导师们都很忙的,没有时间把时间浪费在研究你的图上,一般看着不顺眼的图直接告诉你重新画,心情好会给你指点一二,心情不好就说图画的不好,你自己看着办。所以我们要知道,写报告也好,画图也罢,都是为了让人家看的,你得首先让对方看懂你的图,而不是自己看着顺眼就行,结合我被导师怼的经历,介绍一下什么样的会被导师喜欢吧。
$ l# o( B( F" v- a; {4 w第一步 数据准备' Z" l6 c: Z, S3 B4 k9 ~
4 {# h3 o5 y. I& Z
画图当然得有数据啦,没有数据,白板一张,还不如直接告诉导师,我没做出来更直接一些。这里我偷下懒,用一个三角函数对付一下。
/ z. w1 l4 }9 U$ ~. U/ B* gx=0:0.1:10;y1=sin(x);y2=cos(x);0 r" u$ G6 _' `, e
x是横坐标,y1和y2是纵坐标。
% d- t( ~% H0 a( H% t! g第二步 画图% {4 Z% S# E( `
9 p$ i4 k; O7 X+ e( F, k
MATLAB中最最常用得画图命令就说plot了,当然大多数情况下plot就够了。
& }4 o$ N0 T; i% Q/ L, q8 dfigure(1)plot(x,y1,x,y2)
7 i( t) B* L A ~4 ~8 Z6 C& @! F' ]
; e4 A/ `1 [; z6 a 你要是敢直接把这样得图给导师,那我估计你的鸡腿是没有了。你的图是干嘛的,标题呢?横纵坐标轴得标题呢?你说这是啥,正弦和余弦?我读书少,不认得这俩曲线,你给我标注一下吧。然后就成了这样:
U- j% V: L `4 b! p( y- ~# Pfigure(1)plot(x,y1,x,y2)title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on* {) W9 p3 n( j
现在看起来差不多了,可是老师喜欢某些颜色怎么办,那就是第三步了。
* P! e' O3 K0 h- w& r- `+ ^* O* h" ?+ B第三步 设置线条颜色8 a! X A: U% P0 P' Q1 s
+ L* Y- [- E% y' ~# K4 s& M& J" ?先给出常用得颜色设置吧:/ b- Q7 d! `& s7 j
; }- Y6 E; w2 s6 ]' ^2 y; x
# x9 q' h9 r5 \7 k6 g0 f然后有了如下得代码:, J J* z# N' m- h" X) f8 e. S" P% N
figure(1)plot(x,y1,"g",x,y2,"b")title("正弦/余弦函数图像")xlabel("相位")ylabel("幅值")grid on( |1 ^8 |: I% w c2 T- ~: v. m0 y
; K$ I) X: \+ f) s3 f
% U0 r! j$ J# ]
第四步 设置线型和标记。
2 E5 D4 }+ C5 J: O, v* P7 i# ?( j/ f X3 Q
如果你足够优秀,可以发论文的话,你的导师会告诉你,有的期刊只能发表黑白得文章,所以用颜色区分不太合适,所以区分一下线型吧。所以,先给出常用得线性和标记。* o3 r/ w l8 m. _ }, L7 K& l
( ~5 t q1 E7 B! J. [( F
9 L" t5 s- n0 G5 A8 |
$ H/ p9 V: M+ K" t& n, v8 n# V1 o; l) {0 u: Y' t
2 ~7 y7 u9 ~8 }% w4 x9 o& f" v* y' d- K. i
用线型区分开来:
! O8 e+ U3 w% ~; ^+ o o9 g' g" \plot(x,y1,"g--",x,y2,"b-.")
, v+ w u" S7 r$ M+ u4 v还可以在每个数据点处做个标记:
4 ^: H9 r+ J3 |! ~plot(x,y1,"g--*",x,y2,"b-.x")+ B9 B. z. U$ w7 |2 K; f
以为这样就完事了吧,你的要求我都满足了,可是,你得导师还会问,你这两条线,分别是啥啊,那个是正弦,那个是余弦?这时候你咋办,怼回去,你不认识正弦和余弦?我觉得你还是算了,乖乖得画上图例吧。
5 t, n. J9 q% L第五步 图例2 x1 f" Z- U) o" y
3 ^+ C% X B$ O: Q; G" Y8 [
马上就是最后一步了,直接上代码:
& \, p$ }4 w) S; J9 |" l# Q, fplot(x,y1,"g--*",x,y2,"b-.x")legend("正弦函数","余弦函数")
' o7 ~; @; `- S* E4 @
5 s5 B9 z0 E. [( G% u' a: A3 Q$ b- H3 ]+ c: O
好了,这样的图,能看懂了吧。
) {" h/ o0 h* K: {' n7 b9 t/ N第六步 设置坐标轴范围
0 G0 [. m! l% v/ r2 {1 q) q# ?6 p2 a" b# m# [( H- S K; q
如果你觉得这样得还不够完美,还可以设置一下坐标轴范围:
* `8 K, @1 x& H: s! ~: _& S [用的是axis([xmin xmax ymin ymax])函数。2 K. Z5 X/ O" d# O7 @- S$ n+ [2 L
完整代码:$ p! g0 |6 b( d \0 q- x
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, q' w7 U4 o; d9 w; s
4 l0 _! `! T9 ]
2 A& ~+ K5 ] T总结起来就一下几点:
' P v1 S0 |: n* v% u- 完整得数据
- 标题、横纵坐标标题
- 设置颜色
- 线型和标记
- 添加图例
- 设置横纵坐标轴范围
8 @$ x3 G6 `0 }% P! @( y, S
|