matlab 画图中线型及颜色设置

  • 格式:doc
  • 大小:48.00 KB
  • 文档页数:14

matlab 画图中线型及颜色设置

(2010-04-06 11:18:29)

MATLAB

受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图

功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方 法,还将

简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的

方法.

第一节 图形窗口与坐标系

一.图形窗口

1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.

2.

在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的

句柄.MATLAB通过管理图形窗口的句柄来管理图 形窗口;

3.当前窗口句柄可以由MATLAB函数gcf获得;

4.在任何时刻,只有唯一的一个窗口是当前的图形 窗口(活跃窗口);

figure(h)----将句柄为h的窗口设置为当前窗口;

5.打开图形窗口的方法有三种:

1)调用 绘图函数时自动打开;

2)用File---New---Figure新建;

3)figure命令打开,close命令关 闭.

在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已

打开的图形窗口;若运行程序前已存在多个图形窗 口,并且没有指定哪个窗

口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.

6.窗口中的图形打印:用图形窗口的File菜单中 的Print项.

7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜

单中选择Properties项,打开图 形对象的参数设置窗口,可以设置对象的属

性.

二.坐标系

1.一个图形必须有其定位系统,即坐标系;

2.在一个图形 窗口中可以有多个坐标系,但只有一个当前的坐标系;

3.每个坐标系都有唯一的标识符,即句柄值;

4.当前坐标系句柄可以由 MATLAB函数gca获得;

5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指

定坐标系句柄值.

6.一些有关坐标轴的函数: 1)定义坐标范围:一般MATLAB自动定义坐标范 围,如用户认为设定的不

合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定;

29

2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出

来,为隐去坐标系,可用axis off;axis on则显示坐标轴

(缺省值).

3)通常MATLAB的坐标系是长方形,长宽比例大约是 4:3,为了得到一个

正方形的坐标系可用:axis square

4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比 例

的坐标系,可用:axis equal

第二节 二维图形的绘制

一. plot函数

plot 函数是最基本的绘图函数,其基本的调用格式为:

1.plot(y)------绘制向量y对应于其元素序数的二维曲线图, 如果y为复数向量,

则绘制虚部对于实部的二维曲线图.

例:绘制单矢量曲线图.

y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];

plot(y)

由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:

12345678910

0

2

4

6

8

10

12

14

16

18

20

2.plot(x,y)------ 绘制由x,y所确定的曲线.

1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为

横坐标,y为纵坐标的 图形.

如:画正弦曲线:

t=0:0.1:2*pi;

y=sin(t); plot(t,y)

2)当 plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于

30

向量x的曲线.如果y阵中行的长度与x向量的 长度相同,则以y的行

数据作为一组绘图数据;如果y阵中列的长度与x向量的 长度相同,则

以y的列数据作为一组绘图数据;如果y阵中行, 列均与x向量的长度相

同,则以y的每列数据作为一组绘图数据.

例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲 线时,会

按照一定的规律自动变化每条曲线的的颜色.

x=0:pi/50:2*pi;

y(1,:)=sin(x);

y(2,:)=0.6*sin(x);

y(2,:)=0.3*sin(x);

plot(x,y)

或者还可以这样用:

x=0:pi/50:2*pi;

y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];

plot(x,y)

01234567

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

3) 如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的

图形.

例:x(1,:)=0:pi/50:2*pi;

x(2,:)=pi/4:pi/50:2*pi+pi/4;

x(3,:)=pi/2:pi/50:2*pi+pi/2;

y(1,:)=sin(x(1,:));

y(2,:)=0.6*sin(x(2,:)); y(3,:)=0.3*sin(x(3,:));

plot(x,y)

x=x';

y=y';

figure

31

plot(x,y)

在这个例子中,x------ 3x101,y------3x101,所以第一个plot按列画出

101条曲线,每条3个点;而x'------101x3,y'------ 101x3,所以第二个plot

按列画出3条曲线,每条101个点.

012345678

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

012345678

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

3. 多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)

上面的plot格式中,选项是指为了区分多条画出曲线的 颜色,线型及标记点

而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜 色,不同的线型及标记点表示出来.这 些选项如下表所示:

各种颜色属性选项

选 项 意 义 选 项 意 义

'r' 红色 'm' 粉红

'g' 绿色 'c' 青色

32

'b' 兰色 'w' 白色

'y' 黄色 'k' 黑色

各种线型属性选项

选 项 意 义 选 项 意 义

'-' 实线 '--' 虚线

':' 点线 '-.' 点划线

各种标记点属性选项

选 项 意 义 选 项意 义

'.' 用点号绘制各数据点 '^' 用上三角绘制各数据点

'+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点

'*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点

' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点

's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点

'd'或diamond用菱 形绘制各数据点 'h' 用六角星绘制各数据点

这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿

色的 '+'号绘制曲线.

注意:1)表示属性的符号必须放在同一个字符串中;

2)可同时指定2~3个属性;

3) 与先后顺序无关;

4)指定的属性中,同一种属性不能有两个以上.

例:t=0:0.1:2*pi;

y1=sin(t);

y2=cos(t);

y3=sin(t).*cos(t);

plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')

该 程序还可以按下面的方式写:

t=0:0.1:2*pi;

y1=sin(t);

y2=cos(t);

y3=sin(t).*cos(t);

plot(t,y1, '-r') hold on

plot(t,y2, ':g')

plot(t,y3, '*b')

hold off

注:在MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动

擦 掉坐标系中已有的图形对象,但设置了hold on后,可以保持坐标系中已绘出

的图形.

33

01234567

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

图(a)

还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色

(MarkerEdgeColor),填充颜色 (MarkerFaceColor)及标记点的大小(MarkerSize)

等其它绘图属性.

例:设置绘图线的线型,颜色,宽度,标记 点的颜色及大小.

t=0:pi/20:pi;

y=sin(4*t).*sin(t)/2;

plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2

'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色

'MarkerFaceColor','y',... %设置标记点填充颜色为黄色

'MarkerSize',10) %设置标记点的尺寸为10

绘出图形如下:

00.511.522.533.5

-0.5

-0.4

-0.3

-0.2