matlab第五章基本图形处理功能.ppt
2023/7/7,南京信息工程大学物理系,1,MATLAB 程序设计,殷利平,2023/7/7,南京信息工程大学物理系,2,第五章 基本图形处理功能本章内容:介绍了二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法。在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。,2023/7/7,南京信息工程大学物理系,3,第五章 基本图形处理功能,5.1 二维、三维绘图命令比较5.2 其他的二维绘图操作5.3 与三维相关的操作命令5.4 图形的控制与表现,2023/7/7,南京信息工程大学物理系,4,第五章 基本图形处理功能 5.1 二维、三维绘图命令比较,2023/7/7,南京信息工程大学物理系,5,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较1、对数坐标绘图,semilogx(x轴对数)semilogy(y轴对数)loglog(双对数),2023/7/7,南京信息工程大学物理系,6,例5-1 使用例5-1的数据绘制线性坐标图和3种对数坐标图。y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20,subplot(2,2,1)%创建第一个子图plot(y)title(plot(y)subplot(2,2,2)%创建第二个子图semilogx(y)title(semilogx(y)subplot(2,2,3)%创建第三个子图semilogy(y)title(semilogy(y)subplot(2,2,4)%创建第四个子图loglog(y)title(loglog(y),2023/7/7,南京信息工程大学物理系,7,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较2、极坐标绘图,polar(theta,rho)polar(theta,rho,Linespace),2023/7/7,南京信息工程大学物理系,8,例5-2 绘制函数y=cos2tcos2t的极坐标图形,在命令窗口创建角度矢量t,以函数y=cos2tcos2t为半径绘图:t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t),2023/7/7,南京信息工程大学物理系,9,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(1)一组变量如x是矢量,y是矩阵,plot(x,y)用不同的眼色图线绘制y矩阵中各行或列对应于x的曲线;如果y矩阵中行的长度与x矢量的长度相同matlab就以行数据作为一组绘图数据;如果y矩阵中列的长度与x矢量的长度,则以列数据作为一组绘图数据;如果y是一个行列均与x矢量的长度相等的方阵,则以每列作为一组绘图数据。,2023/7/7,南京信息工程大学物理系,10,例5-3 当x为矢量,y为矩阵是绘制多重曲线图,在命令窗口创建矢量x,然后创建函数矩阵y并绘图:x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y),2023/7/7,南京信息工程大学物理系,11,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(1)一组变量如果x是矩阵,y是矢量,则按类似的规则,这是将x中的每一行或列对应于y进行绘图。,2023/7/7,南京信息工程大学物理系,12,例5-4 当x为矩阵,y为矢量时绘制多重曲线图,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=sin(x);plot(x,y),2023/7/7,南京信息工程大学物理系,13,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(1)一组变量如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的图形。,2023/7/7,南京信息工程大学物理系,14,例5-5 当x和y 为同样大小的矩阵时,绘制多重曲线图,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(1,:);,y(3,:)=0.3*sin(x(1,:);plot(x,y)x=x;y=y;figure%创建新的图形窗口plot(x,y),2023/7/7,南京信息工程大学物理系,15,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(1)一组变量如果y是矩阵,则plot(y)绘制出y中各列相对于行号的图形,对于n行矩阵,x轴的坐标为1:n。总结:对于x与y中有一个为矢量的情况,矢量的长度必须与矩阵中行或列的长度相等;对于x与y都是矩阵的情况,两矩阵的行与列的长度必须都相等。,2023/7/7,南京信息工程大学物理系,16,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(2)一组变量,plot(x1,y1,x2,y2,xn,yn),2023/7/7,南京信息工程大学物理系,17,例5-6 使用多组变量,绘制多重曲线图,x1=0:pi/50:2*pi;%生成100个数据点x2=0:pi/30:2*pi;%生成60个数据点x3=0:pi/15:2*pi;%生成30个数据点y1=sin(x1);y2=0.6*sin(x2);y3=0.3*sin(x3);plot(x1,y1,x2,y2,x3,y3),2023/7/7,南京信息工程大学物理系,18,分析,与例5-3比较,两个例子的差别在于数据是否在一个数组中以及数组长度的不同。这两种方法各有优点,对于曲线较多或使用直接按数组计算得到的数据时适合用单数组绘图。如果希望控制每条曲线的线型、颜色、标记点等特征以及绘制不同矢量(矩阵)长度的数据时适用多组变量绘图。,2023/7/7,南京信息工程大学物理系,19,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较3、多重曲线绘图,(3)双Y轴绘图,plotyy(x1,y1,x2,y2)plotyy(x1,y1,x2,y2,function)plotyy(x1,y1,x2,y2,function1,function2)Ax,H1,H2=plotyy(),2023/7/7,南京信息工程大学物理系,20,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较4、图线形式与颜色,(1)形式线绘图方式、点绘图方式,线绘图方式将数据点用某种形式的线连接起来,在线绘图方式中可以选择线型。点绘图方式只把数据点用某种类型的标记点绘制出来而不连接,在点绘图方式只可以选择标记点的类型。,2023/7/7,南京信息工程大学物理系,21,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较4、图线形式与颜色,(1)形式线绘图方式、点绘图方式,plot(x,y,)plotyy(x1,y1,:,x2,y2,*),表曲线1,表曲线2,2023/7/7,南京信息工程大学物理系,22,例5-7 使用不同的线型绘图,在命令窗口创建矢量t、y1、y2和y3,使用不同的线型绘图t=0:pi/100:2*pi;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,-,t,y2,-,t,y3,:),2023/7/7,南京信息工程大学物理系,23,例5-8 使用不同的标记点绘图,在命令窗口创建矢量t和y,使用不同的标记点绘图t=0:pi/20:2*pi;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,o,t,y2,*,t,y3,+),2023/7/7,南京信息工程大学物理系,24,第五章 基本图形处理功能 5.2 二维、三维绘图命令比较4、图线形式与颜色,(2)图线的颜色,plot(x,y,r)plot(x,y,g+),2023/7/7,南京信息工程大学物理系,25,注释,在指定线型、颜色和标记点三种属性时应注意:3种属性的符号必须放在同一个字符串中;可以只指定其中一个属性也可同时指定23个;属性的先后顺序无关;指定的属性中同种属性不能有两个以上。除此之外,还可以设置线的宽度、标记点的边缘颜色、填充颜色以及标记点的大小等。,2023/7/7,南京信息工程大学物理系,26,例5-9 设置绘图线的线型、颜色、宽度、标记点的颜色及大小,t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,-bs,LineWidth,2,.%设置线的宽度为2MarkerEdgeColor,k,.%设置标记点边缘颜色为黑色MarkerFaceColor,y,.%设置标记点填充颜色为黄色MarkerSize,10)%设置标记点的尺寸为10,2023/7/7,南京信息工程大学物理系,27,第五章 基本图形处理功能 5.2 特殊图形1、条形图,bar(Y)bar3(Y)bar(x,Y)bar3(x,Y)bar(,width)bar3(,width)bar(,stytle)bar3(,stytle)barh bar3h,2023/7/7,南京信息工程大学物理系,28,第五章 基本图形处理功能 5.2 特殊图形2、饼图,pie(x)pie(X,explode),3、其他图形:直方图、杆状图、阶梯 图、彩色分散点图等,2023/7/7,南京信息工程大学物理系,29,第五章 基本图形处理功能 5.3 与三维相关的操作命令1、三维绘图数据的产生,x,y,z=peaks(n)peaks(n),meshgrid,2023/7/7,南京信息工程大学物理系,30,第五章 基本图形处理功能 5.3 与三维相关的操作命令2、网格图,mesh(z),mesh(x,y,z),2023/7/7,南京信息工程大学物理系,31,例5-10 绘制各种网格图,mesh(peaks(20);%figure,meshc(peaks(20);%p=peaks(30);p(20:23,9:15)=NaN*ones(4,7);%figure,meshz(p);%figure,waterfall(peaks(30);%,2023/7/7,南京信息工程大学物理系,32,第五章 基本图形处理功能 5.3 与三维相关的操作命令3、着色表面图,2023/7/7,南京信息工程大学物理系,33,例5-11 教材“例5-38”例5-12 教材“例5-39”例5-13 教材“例5-40”,2023/7/7,南京信息工程大学物理系,34,第五章 基本图形处理功能 5.3 与三维相关的操作命令4、表面渲染,shading flatshading facefedshading interp,例5-14 教材“例5-41”,2023/7/7,南京信息工程大学物理系,35,第五章 基本图形处理功能 5.3 与三维相关的操作命令5、透明处理,hidden off,例5-15 教材“例5-42”,2023/7/7,南京信息工程大学物理系,36,第五章 基本图形处理功能 5.3 与三维相关的操作命令6、颜色映射,colormap(MAP),例5-16 教材“例5-43”,2023/7/7,南京信息工程大学物理系,37,第五章 基本图形处理功能 5.4 图形的控制与表现1、图形控制的函数与命令,2023/7/7,南京信息工程大学物理系,38,第五章 基本图形处理功能 5.4 图形的控制与表现2、图形窗口,创建图形窗口figure(n)绘子图形subplot(m,n,p),例5-17 教材“例5-45”,2023/7/7,南京信息工程大学物理系,39,第五章 基本图形处理功能 5.4 图形的控制与表现3、坐标轴控制命令,axis xy axis equalaxis off axis equareaxis onaxis(xmin,xmax,ymin,ymax),例5-18 教材“例5-47”例5-19 教材“例5-48“,2023/7/7,南京信息工程大学物理系,40,第五章 基本图形处理功能 5.4 图形的控制与表现4、图形标注,title ztitlextitle textytitle getextlegend,在图形中加标注方法很多:使用图形窗口中的Insert菜单;属性编辑器;函数输入法。,2023/7/7,南京信息工程大学物理系,41,第五章 基本图形处理功能 5.4 图形的控制与表现4、图形标注,对坐标轴和图形标题加注,xlabel(时间(t),tilte(电压信号),例5-20 教材“例5-49”,2023/7/7,南京信息工程大学物理系,42,例5-21 控制坐标轴的外观属性,下面的表面图显示了一些标注和属性控制的实例。,h=axes(Color,9,9,9,GridLineStyle,ZTickLabels,-1|z=0 Plane|+1,FrontName,times,FraontAngle,italic,FrontSize,14,Xcolor,0,0.7,YColor,0,0.7,ZColor,0,0.7);,详见matlab程序设计阮沈勇P140,2023/7/7,南京信息工程大学物理系,43,第五章 基本图形处理功能 5.4 图形的控制与表现4、图形标注,在图形中加注文本,text(z,y,字符串),gtext(字符串),2023/7/7,南京信息工程大学物理系,44,第五章 基本图形处理功能 5.4 图形的控制与表现4、图形标注,指定TeX字符,TeX,例5-22 教材”例5-51“,2023/7/7,南京信息工程大学物理系,45,第五章 基本图形处理功能 5.4 图形的控制与表现5、添加图例框,legend(字符串,字符串2,)legend(show)legend(hide),例5-23 教材”例5-52“,