另一方面,在描绘的基本步骤MATLAB中描绘图形,通常采用以下7个步骤
1 .准备数据
准备绘图所需的横坐标变量和纵坐标变量的数据。
2 .设置当前绘图区域
在指定位置创建新的绘图窗口,并自动将此窗口中的绘图作为当前绘图区域。
3 .绘制图形
创建坐标轴,指定叠加绘制模式,然后绘制函数曲线。
4 .设置图表中曲线和标记点的格式
设置图形中的线宽、线型、颜色、标记点的形状、大小、颜色等。
5 .设置坐标轴和网格线的属性
将坐标轴范围设置为指定的水平线,并设置网格线属性,如网格线类型(实线、虚线)
6 .尺寸图形
标注图形,包括向图形中添加标题、坐标轴、文字等。
7 .保存和导出图表
以指定的文件格式、属性保存或输出图形,以便以后使用。
二.在工作区直接绘图在工作区直接绘图
三、利用函数绘制MATLAB提供了丰富的绘制功能,在命令行窗口中输入help graph2d可以得到绘制所有二维图形的命令,输入help graph3d可以得到绘制所有三维图形的命令
1 .为使用基本二维图形plot(x1、Y1、LineSpec、‘property name’、PropertyValue ) plot函数创建的所有图形设置属性值。
常规绘图选项:
选项含义-实线.用点号表示数据点-用圆圈表示虚线数据点:用虚线叉号表示-。 用单点划线用正标记表示数据点r红色s,用菱形表示显示数据点g绿色d,用下三角标记表示显示数据点b蓝色v,用左三角标记表示显示数据点m品红色,用右三角标记表示显示数据点c蓝色,用六角形表示显示数据点w白色h,用五边形表示显示数据点k黑色p * (数据点
属性名称含义属性名称含义LineWidth设置线条宽度MarkerEdgeColor设置标记点边缘颜色MarkerSize设置标记点大小MarkerFaceColor设置标记点填充颜色h=plot(x1,Y1,linespecolor
使用loglog函数、semilogx函数和semilogy函数与使用plot函数类似。
【例1】在同一坐标上画多条曲线
清除全部; t=0: pi/50: 4*pi; y0=exp(-t/3 ); y=exp(-t/3 ).*sin )3*t ); plot(t,y,t,y0,t,-y0 ); 网格打开
例2加载MATLAB附属的噪声信号并绘制图形
清除全部; 加载诺伊s dopp; 是打印(nois dopp )
2 .双y轴绘制MATLAB提供了用于绘制双y轴图表绘制的plotyy函数。 实际上,两组数据的数据范围差异很大,如果想放在同一个图表上进行比较分析,可以绘制双y轴图表。
plotyy(x1、y1、x2、y2 ) :在一个图形窗口中同时绘制两条曲线(x1、y1 )和(x2、y2 )。 曲线) x1、y1 )使用左侧的y轴,曲线) x2、y2 )使用右侧的y轴。
plotyy(x1、y1、x2、y2、fun ):fun是字符串格式,用于指定出图的函数名称,例如plot、semilogx等。 例如,名为plotyy(x1、y1、x2、y2和“semilogx”)的命令是使用函数semilogx绘制曲线(x1、y1 )和(x2、y2 )。
plotyy(x1、y1、x2、y2、fun1、fun2) :与第二种格式类似,但可以在fun1和fun2中指定单独的出图函数来绘制各自的曲线。
例3 :利用plotyy绘制双y轴图形。
清除全部; x=0: 0.01: 20; y1=200*exp(-0.05*x ).*sin(x ) x; y2=0.8*exp(-0.5*x ).*sin ) 10*x ); figureplotYY(x,y1,x,y2 ) )。
3 .三维图形1 )在三维曲线MATLAB中,为绘制三维曲线提供了plot3函数,该函数的使用方法与二维曲线绘制函数plot相似。 plot3函数的调用格式如下:
plot3) x1、Y1、Z1、…) :用默认的线型属性绘制由三维点集(Xi、Yi、懦弱的春天)确定的曲线。 Xi,Yi,懦弱的春天是同样大小的向量或矩阵。
plot3(x1、Y1、Z1、LineSpec…) :由参数LineSpec决定的线性属性绘制由三维点集(Xi、Yi、懦弱的春天)决定的曲线。 Xi、Yi、懦弱的春天是同样大小的向量或矩阵。
plot3(…)、“‘propertyname”、PropertyValue、…) :绘制三维曲线,并根据指定的属性值设置曲线属性。
h=plot3(…) :返回绘图的句柄值向量h。
【例4】用plot制作三维图表。
clear allt=0: pi/50:10 * pist=sin (t ) ct=cos (
t)figureplot3(st,ct,t)
MATLAB中,除了可以绘制三维线性图形外,还可以绘制三维曲面。常见的绘制三维曲面的MATLAB函数有mesh和surf。
2)三维网格图的绘制
在三维网格图绘制时经常需要用到meshgid,用于生成网格数据。
meshgrid的用法简介
[X,Y] = meshgid(x,y):输入向量x为xy平面上矩阵定义域的矩形分割线在x轴的值,输入向量y为xy平面上矩形定义域的矩形分割线在y轴的值。输出向量X为xy平面上矩形定义域的矩形分割点的横坐标值矩阵,输出向量Y为xy平面上矩形定义域的矩形分割点的纵坐标值矩阵。
[X,Y] = meshgrid(x):等价于[X,Y] = meshgrid(x,x)
[X,Y,Z] = meshgrid(x,y,z)
3)三维网格曲面
mesh(X,Y,Z)
4)三维阴影曲面
surf(X,Y,Z)
Matlab用surf函数画三维曲面
Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
Matlab中mesh和surf的区别
meshgrid,contour,surf,mesh的总结
4.图形的修饰 1)选择图形窗口的函数
1.打开不同图形窗口的函数
figure(1);figure(2);…;figure(n):用来打开不同的图形窗口,以便绘制不同的图形。
2.图形窗口分拆函数subplot
subplot(m,n,p):分割图形显示窗口,m表示上下分割个数,n表示左右分割个数,p表示子图编号。
【例5】图形窗口的创建与分割
clear allb = 2 * pix = linspace(0,b,50) %分割点for k = 1:9 y = sin(k * x).*cos(.52 * x) subplot(3,3,k) plot(x,y,’linewidth’,2) axis([0,2*pi,-1,1])end
2)坐标轴相关函数
在默认情况下,MATLAB自动选择图形的横、纵坐标的比例,当然也可以用axis函数控制,常用的函数格式如下:
axis([xmin xmax ymin ymax]):[xmin xmax ymin ymax]中分别给出x轴和y轴的最大值、最小值。
axis equal:x轴和y轴的单位长度相同。
axis square:图框呈正方形。
axis off:清除坐标刻度。
semilogx:绘制以x轴为对数坐标(以10为底)、y轴为线性坐标的半对数坐标图形。
semilogy:绘制以y轴为对数坐标(以10为底)、x轴为线性坐标的半对数坐标图形。
loglog:绘制全对数坐标图形,即x、y轴均为对数坐标(以10为底)。
3)文字标识函数
text(x,y,‘字符串’):在图形的指定坐标位置(x,y)处标示单引号括起来的字符串。
gtext(‘说明文字’):利用鼠标在图形的某一位置标示说明文字。执行完绘图命令后再执行gtext(‘说明文字’)命令,就可在屏幕上得到一个光标,然后用鼠标选择说明文字的位置。
title(‘字符串’):在所绘制图形的最上端显示说明该图形标题的字符串。
xlanbel(‘字符串’)、ylanbel(‘字符串’)、zlanbel(‘字符串’):设置x、y、z坐标轴的名称。输入特殊的文字需要用反斜杠()开头。
legend(‘字符串1’、‘字符串2’,…,‘字符串n’):在屏幕上开启一个视窗,然后依据绘图函数的先后次序,用对应的字符串区分图形上的线。
4)添加或删除栅格
grid:给图形加上栅格线。
grid on :给当前坐标系加上栅格线。
grid off:从当前坐标系中删去栅格线。
grid:交替转换命令,即执行一次,转变一个状态(相当于grid on、grid off)。
5)图形保持或覆盖
hold on:把当前图形保持在屏幕不变,同时允许在这个坐标内绘制另外一个图形。
hold off:使新图覆盖旧图。
hold函数是一个交替转换函数,即执行一次,转变一个状态(相当于hold on、hold off)。
【例6】绘制对数坐标及半对数坐标图
clear allx1 = logspace(-1,2)subplot(131)loglog(x1,exp(x1),’-s’)title(‘loglog函数绘图’)grid onx2 = 0: 0.1 :10subplot(132)semilogx(10.^x2,x2,’r-.*’)title(‘semilogx函数绘图’)subplot(133)semilogx(10.^x2,x2,’rd’)title(‘semilogy函数绘图’)