简单记录一下(ノ∀`*)。
绘图基本函数
在MATLAB语言中,最基本且应用最广泛的绘图函数是绘制曲线函数plot
,利用它可在二维平面上绘制不同的曲线。plot
函数的用法如下:
plot(y)
绘制以y
为纵坐标的二维曲线。
y为向量时的plot(y)
当y
为长度为n
的向量时,则纵坐标为y
,MATLAB根据y
向量的元素序号自动生成横坐标,为1:n
的向量。
举个栗子
>> y0=[0 1 0 1 0 1 0 1 0 1 0] |
y为矩阵时的plot(y)
当y
为m*n
矩阵时,plot(y)
则将矩阵的每一列画一条曲线,共n
条曲线,每条曲线自动用不同颜色表示,每条曲线横坐标为向量1:m
,m
为矩阵的行数。
举个栗子
>> y1=[4 5 6;1 2 3;4 5 6] |
plot(x,y)
绘制以x
为横坐标,y
为纵坐标的二维曲线。
x和y都为向量时的plot(x,y)
x
和y
的长度必须相等。
举个栗子
>> x0=[0 1 1 2 2 3 3 4 4 5 5]; |
x为向量、y为矩阵时的plot(x,y)
x
的长度必须和y
的行数或列数相等。
当向量x
的长度和矩阵y
的行数相等时,向量x
和y
的每一列向量画一条曲线;
当向量x
的长度和矩阵y
的列数相等时,向量x
和y
的每一行向量画一条曲线;
若y
为方阵,x
和y
的行数、列数都相等,向量x
和y
的每一列向量画一条曲线。
x为矩阵、y为向量时的plot(x,y)
x
的行数或列数必须和y
的长度相等。绘制方法与上一种情况类似。
x和y都为矩阵时的plot(x,y)
x
和y
的大小必须相等,x
的每一列与y
对应的每一列画一条曲线。
线性图格式设置
设置曲线的线型、颜色和数据点标识
为了便于曲线比较,MATLAB语言提供了一些绘图选项,可以控制所绘的曲线的线型、颜色和数据点的标识符号。命令格式如下:
plot(x,y,'选项') |
线型、颜色和数据点标识定义
颜色
类型 | 选型 |
---|---|
蓝色 | b |
绿色 | g |
红色 | r |
青色 | c |
紫红色 | m |
黄色 | y |
黑色 | k |
白色 | w |
线型
类型 | 选项 |
---|---|
实线 | - |
点线 | : |
虚线 | – |
点画线 | -. |
数据点标识
类型 | 选项 |
---|---|
实点标记 | . |
圆圈标记 | o |
叉号标记 | x |
十字标记 | + |
星号标记 | * |
方块标记 | s |
钻石标记 | d |
下三角标记 | v |
上三角标记 | ^ |
左三角标记 | < |
右三角标记 | > |
五角星标记 | p |
六角形标记 | h |
不同类型的选项可以组合使用。
>> x=0:0.1:2*pi; |
设置坐标轴
MATLAB语言可以通过函数axis
设置坐标轴的刻度和范围来调整坐标轴。axis
函数常用的调用格式如下:
函数命令 | 功能及说明 |
---|---|
axis auto | 使用默认设置 |
axis ([xmin,xmax,ymin,ymax]) | 设定坐标范围,且要求xmin<xmax,ymin<ymax |
axis equal | 横纵坐标使用等长刻度 |
axis square | 采用正方形坐标系 |
axis normal | 默认矩形坐标系 |
axis tight | 把数据范围设为坐标范围 |
axis image | 横纵轴采用等长刻度,且坐标框紧贴数据范围 |
axis manual | 保持当前坐标范围不变 |
axis fill | 在manual方式下,使坐标充满整个绘图区域 |
axis on | 显示坐标轴 |
axis off | 取消坐标轴 |
axis xy | 普通直角坐标,原点在左下方 |
axis ij | 矩阵式坐标,原点在左上方 |
axis vis3d | 保持高宽比不变,三维旋转时避免图形大小变化 |
>> x=0:0.1:2*pi; |
网格线和坐标边框
网格线
为了便于读数,MATLAB语言可以使用grid on
函数在坐标系中添加网格线,网格线根据坐标轴的刻度使用虚线分隔;使用grid off
函数取消网格线。
>> x=0:0.1:2*pi; |
坐标边框
MATLAB语言可以使用box on
函数实现添加坐标边框,box off
函数取消坐标边框。
>> x=0:0.1:2*pi; |
图形修饰
MATLAB语言提供了很多图形修饰函数,实现对图形添加标题,横纵坐标轴的标签,图形某一部分文本标注,不同曲线的图例标识等功能。
标题和标签设置
MATLAB语言提供title
函数和label
函数实现添加图形的标题和坐标轴的标签,其调用格式如下:
title('str') |
title
为设置图形标题的函数;
xlabel
、ylabel
、zlabel
分别为设置x
、y
、z
坐标轴标签的函数;
str
为注释字符串,也可为结构数组。
图形的文本标注
MATLAB语言提供text
和gtext
函数,能在坐标系某一位置标注文本注释,其调用格式如下:
text(x,y,'str') |
text(x,y,'str')
函数能在坐标系位置(x,y)
处添加文本注释str
;
gtext('str')
可以为鼠标选择的位置处添加文本注释str
;
gtext({'str1';'str2';'str3';...})
一次放置一个字符串,多次放置在鼠标指定的位置上。
图例设置
MATLAB语言可用legend
函数添加图例,其调用格式为:
legend('str1','str2',...,'location',LOC) |
str1
、str2
为图例标题,与图形内曲线依次对应;
LOC
为图例位置参数。
legend off
用于取消图例。
图例位置参数
位置参数 | 功能 |
---|---|
‘North’ | 图内的顶部 |
‘South’ | 图内的底部 |
‘East’ | 图内的右侧 |
‘West’ | 图内的左侧 |
‘NorthEast’ | 图内右上角 |
‘NorthWest’ | 图内左上角 |
‘SouthEast’ | 图内右下角 |
‘SouthWest’ | 图内左下角 |
‘Best’ | 最佳位置 |
‘NorthOutside’ | 图外的顶部 |
‘SouthOutside’ | 图外的底部 |
‘EastOutside’ | 图外的右侧 |
‘WestOutside’ | 图外的左侧 |
‘NorthEastOutside’ | 图外右上角 |
‘NorthWestOutside’ | 图外左上角 |
‘SouthEastOutside’ | 图外右下角 |
‘SouthWestOutside’ | 图外左下角 |
BestOutside | 图外最佳位置 |
用鼠标获取二维图形数据
MATLAB语言中的ginput
函数可实现用鼠标从图形(仅适用于二维图形)获取数据功能,其调用方式如下:
[x,y]=ginput(n) |
n
是通过鼠标在图形中获取数据点的个数;
x
和y
用来存储所获取的坐标,是列向量,每次获取的坐标点为列向量的一个元素。
图形保持
一般情况下,MATLAB每执行一次plot
,就刷新一次当前图形窗口,原有的图形将被覆盖,但可以使用图形保持命令hold
函数。
hold on
是保持原有图形;
hold off
是刷新原有图形。
>> t=(0:0.1:2*pi)'; |
多个图形绘制
MATLAB语言提供subplot
函数,实现一个图形窗口绘制多个图形的功能,其调用方式如下:
subplot(m,n,p) |
将图形窗口分割成m*n
子图,第p
个为当前图;
子图排序:左上方为第一个,从左向右从上向下依次排序。
>> t=(0:0.1:2*pi); |