1、二维图形绘制
基本步骤:
(
1
)数据准备。主要工作是产生自变量采样向量,计算相应的函数值向量。
(2)选定图形窗口及子图位置。在默认情况下
MATLAB
系统绘制的图形为
figure.1、
figure.2……
(3)调用绘图函数绘制图形,例如
plot
函数。
(4)设置坐标轴的范围、刻度及坐标网格。
(5)利用对象属性值或者图形窗口工具栏设置线型、标记类型及其大小等。
(6)添加图形注释,例如图名、坐标名称、图例、文字说明等。
(7)图形的导出与打印。
1.1、plot指令
该命令可以带有不同数目的参数。最简单的形式就是将数据传递给plot
,但是线条的类型和颜色可以通过使用字符串来指定,这里用
str
表示。线条的默认类型是实线型。
序号 | 使用方法 | 说明 |
1 |
plot(x,y)
|
以
x
为横坐标,
y
为纵坐标,按照坐标
(
x
j
,
y
j
)
的有序排列绘制曲线
|
2 |
plot(y)
|
其中
y
为一维实数数组,以
1:
n
为横坐标,
y
j
为纵坐标,绘制曲线(
n
为
y
的长度)
|
3 |
plot(z)
|
其中
z
为一维复数数组,以横轴为实轴,纵轴为虚轴,在复平面上绘制
(real(z
j
),imag(z
j
))
的有
序集合的图形。
|
4 |
plot(A)
|
绘制矩阵
A
的列对它的下标的图形。对于
m
×
n
的矩阵
A
,有
n
个含有
m
个元素的数对,或是
n 条有m
个点的曲线,且这
n
条曲线均采用颜色监视器上不同的颜色绘制而成
|
5 |
plot(x,A)
|
绘制矩阵
A
对向量
x
的图形。对
m
×
n
的矩阵
A
和长度为
m
的向量
x
,绘制矩阵
A
的列对向量
x
的图形;
如果
x
的长度为
n
,则绘制矩阵
A
的行对向量
x
的图形。向量
x
可以是行向量,也可以是列向量
|
6 |
plot(A,x)
|
对矩阵
A
绘制向量
x
的图形。对于一个
m
×
n
的矩阵
A
和一个长度为
m
的向量
x
,对矩阵
A
的列绘制向量x
的图形;
如果
x
的长度为
n
,则对矩阵
A
的行绘制向量
x
的图形。向量
x
可以是行向量,也可以是列向量。
|
7 |
plot(A,B)
|
对矩阵
A
的行绘制矩阵
B
的列的图形。如果
A
和
B
都是
m
×
n
的矩阵,则将绘制
n
条由
m
个有序对连成的曲线。
|
8 |
plot(x,y,str)
|
用字符串
str
指定的颜色和线型对
y
绘制
x
的图形
|
9 |
plot(x1,y1,str1,x2,y2,str2,…)
|
用字符串
str1
指定的颜色和线型对
y
1
绘制
x
1
的图形,用字符串
str2
指定的颜色和线型对
y
2
绘
制
x
2
的图形
……
每组参数值可以采用上述除复数值外的任何一种形式。
str1,str2…
可以省略,此时,
MATLAB
自动为每条曲线选择颜色和线型
|
示例1(plot使用方法1、2、3):
x=-10:10;y=x*2;
figure(1)
subplot(2,2,1); plot(x,y);
subplot(2,2,2);plot(y);
Z =cos(-pi:pi/10:pi) +sqrt(-1)*sin (-pi:pi/10:pi);
subplot(2,2,3); plot(Z);
示例2(plot使用方法4、5、6):
A = [2 5 6 8 12;5 3 9 10 2;4 3 6 2 1;0 3 12 0 3;1 2 3 4 5 ];
B = [2 4 7 1 12;5 3 0 10 0;4 3 0 2 1;5 3 12 0 3;1 2 0 4 5 ];
x = [1 3 5 7 9];
figure(1);
subplot(2,2,1);plot(A);
subplot(2,2,2);plot(A,x);
subplot(2,2,3);plot(x,A);
subplot(2,2,4);plot(A,B);
1.2线型和颜色
当同一个图形中同时画了多条曲线时,需要使用不同的线型、标记和颜色来区分不同的曲线。
线型代号 | 表示类型 |
- | 实线 |
-- | 虚线 |
-. | 点画线 |
: | 点线 |
none | 无线 |
标记代号 | 表示类型 |
. | 点 |
* | 星号 |
o | o |
+ | + |
x | x |
diamond | 菱形 |
pentagram | 五角星形 |
square | 正方形 |
hexagram | 六角星形 |
none | 五点 |
< | 顶点指向左边的三角形 |
> | 顶点指向右边的三角形 |
颜色代号 | 表示颜色 | 颜色代号 | 表示颜色 |
g | 绿色 | w | 白色 |
m | 品红色 | r | 红色 |
b | 蓝色 | k | 黑色 |
c | 灰色 | y | 黄色 |
示例3:
figure(1)
x = 0:0.01*pi:pi*8;
plot(x, sin(x),'r:','Linewidth',2);hold on;
plot(x, 2*sin(x/2),'y', 'Linewidth' , 2);hold on;
plot(x,4*sin(x/4),'b--','Linewidth' , 3);hold on;
x= 0:pi:pi*8;
plot (x,sin (x), 'g^','MarkerSize',10,'LineWidth' ,3);hold on;
plot (x,2*sin (x/2), 'ko', 'MarkerSize',10,'Linewidth',3);hold on;
plot(x,4*sin(x/4), ' msquare ' , 'MarkerSize',10,'Linewidth' , 3);hold on;
xlim([0 pi*8])
1.3栅格
当图像需要对具体数值有更加清楚的展示时,在图形中添加栅格是十分有效的方法。在
MATLAB
中, grid on命令可以在当前图形的单位标记处添加栅格;
grid off
命令则可以取消栅格的显示;单独使用
grid
命令则可以在on
与
off
状态下交替转换,即起到触发的作用。
1.4文字注释
通常,曲线所表示的函数或数据的规律都需要进行一些文字说明或标注。图形窗口中的文本操作指令
如下。
● title('text')
: 在图形窗口顶端的中间位置输出字符串
“text”
作为标题。
● xlabel('text')
:在
x
轴下的中间位置输出字符串
“text”
作为标注。
● ylabel('text')
:在
y
轴边上的中间位置输出字符串
“text”
作为标注。
● zlabel('text')
:在
z
轴边上的中间位置输出字符串
“text”
作为标注。
● text(x,y,'text')
:在图形窗口的
(
x
,
y
)
处写字符串
“text”
。坐标
x
和
y
按照与所绘制图形相同的刻度给出。对于向量
x
和
y
,字符串“text”
写在
(
xi
,
yi
)
的位置上。如果
“text”
是一个字符串向量,即一个字符矩阵,且与
x
、
y
有相同的行数,则第
i
行的字符串将写在图形窗口的(
xi
,
yi
)
位置上。
● text(x,y,'text','sc')
:在图形窗口的
(
x
,
y
)
处输出字符
“text”
,给定左下角的坐标为
(0.0,0.0)
,右上角的坐标则为
(1.0,1.0)
。
●gtext('text') 通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字符串text放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或单击任意按钮,字符串将会写入窗口中。
● legend(str1,str2,...,pos)
:在当前图形上输出图例,并用说明性字符串
str1
、
str2
等做标注。其中,参数
pos
的可选项目如表
5
所示。
代号 | 位置 | 代号 | 位置 |
-1 | 将图例框放在坐标轴外的右侧 | 0 | 将图例框放在图窗内与曲线交叠最小的位置 |
1 | 将图例框放在图窗内右上角 | 2 | 将图例框放在图窗内左上角 |
3 | 将图例框放在图窗内左下角 | 4 | 将图例框放在图窗内右下角 |
● legend(str1,str2,...,'Location','pos')
:在当前图形上输出图例,并用说明性字符串
str1
、
str2
等做标注。其中,参数
pos
的可选项目如表6
所示。
代号 | 位置 | 代号 | 位置 |
North | 图窗内最上端 | South | 图窗内最下端 |
East | 图窗内最右端 | West | 图窗内最左端 |
NorthEast | 图窗外右上角 (二维图窗的默认项) | North West | 图窗内左上角 |
SouthEast | 图窗内右下角 | SouthWest | 图窗内左下角 |
NorthOutside | 图窗外上部 | SouthOutside | 图窗外下部 |
EastOutside | 图窗外右侧 | WestOutside | 图窗外左侧 |
NorthEastOutside | 图窗外右上部 | NorthWestOutside | 图窗外左上部 |
SouthEastOutside | 图窗外右下部 | SouthWestOutside | 图窗外左下部 |
Best | 图窗内与曲线交叠最小的位置 | BestOutside | 图窗外最不占空间的位置 |
● legendoff
:从当前图形中清除图例。
MATLAB
中的字符串可以对输出的文字风格进行预先设置,可以预先规定的有字体、风格及大小。另 外,可以进行上、下标的表示,还可以输出数学公式中经常用到的希腊字符和其他特殊字符。