MATLAB三维散点图scatter3plote

上传人:ra****d 文档编号:243394613 上传时间:2024-09-22 格式:PPT 页数:49 大小:1.12MB
返回 下载 相关 举报
MATLAB三维散点图scatter3plote_第1页
第1页 / 共49页
MATLAB三维散点图scatter3plote_第2页
第2页 / 共49页
MATLAB三维散点图scatter3plote_第3页
第3页 / 共49页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第三章,Matlab,图形绘制,主要内容,3.1.,二维曲线的绘制,3.2.,三维曲线的绘制,三维网线图和曲面图的绘制,Matlab,图形处理的基本技术,动画技术,图形用户界面设计,二维曲线的绘制,1,、绘制二维图形最常用的函数是,plot,,调用格式有以下四种:,(,1,),plot(Y),如果,Y,为实向量,则以,Y,的索引坐标作为横坐标,以,Y,本身的元素作为纵坐标。如果,Y,为复数向量,则以该向量实部为横坐标,虚部为纵坐标。,(,2,),plot(X,Y),此时以,X,为横坐标,,Y,为纵坐标。,X,和,Y,要求维数必须相同。当变量,X,和,Y,是同阶矩阵时,将按照矩阵的行或列进行操作。,(,3,),plot(X,Y,s),第三个变量用于设置图形显示属性。设置图形的,线型、颜色、标记,等。,(,4,),plot(X1,Y1,s1,X2,Y2,s2,.),每三项为一组绘制多条曲线。,y=rand(100,1);,plot(y),x=rand(100,1);,z=x+y.*i;,plot(z),示例:,x=0:0.01*pi:2*pi;,y=sin(x),cos(x);,plot(x,x,y);,x=0:0.01*pi:pi;,y=sin(x);,z=cos(x);,plot(x,y,-k,x,z,-.rd);,Matlab,绘图命令中的各种选项,曲线线型,曲线颜色,标记符号,选项,意义,选项,意义,选项,意义,-,实线,b,蓝色,*,星号,-,虚线,g,绿色,.,点号,:,点线,m,红紫色,x,叉号,-.,点划线,w,白色,v,none,无线,c,蓝绿色,k,黑色,r,红色,O,圆圈,p,五角星,y,黄色,s,方块,d,菱形,h,六角星,2,、特殊的二维图形函数,(,1,),特殊坐标系的二维图形函数,,区别于均匀单,y,轴坐标系而言,具体有对数坐标系、极坐标系和双,y,轴坐标等。,对数坐标曲线,主要有,semilogx,semilogy,和,loglog,,前两个分别以,x,坐标和,y,坐标为对数坐标,后一个是双对数坐标。,x = 0:.1:10;,semilogy(x,10.x),x=1:0.1*pi:2*pi;,y=sin(x);,semilogx(x,y,-*),x = logspace(-1,2);,loglog(x,exp(x),-s),grid on,极坐标系函数,polar,,调用形式为:,polar(theta,rho),或,polar(theta,rho,s),双纵坐标(双,y,轴坐标系)函数,plotyy,,调用形式为:,plotyy(X1,Y1,X2,Y2),plotyy(X1,Y1,X2,Y2,fun) fun,可以是,plot,、,semilogx,、,semilogy,或,loglog,plotyy(X1,Y1,X2,Y2,fun1,fun2) fun1,绘制,(X1,Y1),,,fun2,绘制,(X2,Y2),注:双坐标绘制图形的调用过程中,不能够像前面的,plot,函数那样对曲线属性进行设置,需要使用,句柄图形,控制完成。,x = 0:0.01:20;,y1 = 200*exp(-0.05*x).*sin(x);,y2 = 0.8*exp(-0.5*x).*sin(10*x);,AX,H1,H2 = plotyy(x,y1,x,y2,plot);,AX,是对应两个坐标轴的句柄,,H1,和,H2,分别是对应,plot,的句柄。,(,2,)二维特殊函数图形,函数名,说明,函数名,说明,函数名,说明,area,填充绘图,feather,矢量图,fplot,函数图绘制,bar,条形图,stem,离散序列饼状图,hist,直方图,barh,水平条形图,fill,多边形填充,pareto,Pareto,图,comet,彗星图,stairs,阶梯图,pie,饼图,errorbar,误差带图,contour,等高线图,plotmatrix,分散矩阵绘制,ezplot,简单绘制函数图,contourf,填充的等高线图,ribbon,三维图的二维条状显示,ezpolar,简单绘制极坐标图,scatter,散射图,Polar,绘制极坐标,示例:,theta=linspace(0,2*pi);r=cos(2*theta);polar(theta,r),Hist,用来显示资料的分段情况和统计特性,适合于大量数据的情况,示例:,x=randn(9999,1);hist(x,50),Rose,与,hist,接近,将资料的大小视为角度,资料的个数作为距离,采用极坐标绘图。,示例:,x=randn(9999,1);rose(x,50),Bar,函数适合于数据点不多时使用,示例:,x=1:15;y=rand(size(x);bar(x,y);,如果已知数据的误差量,可用,errorbar,表示。,示例:,x=linspace(0,2*pi,20);y=sin(x);,z=std(y)*ones(size(x);errorbar(x,y,z);,fplot,函数可以绘制较精确的图形,适合于变化剧烈的函数。,示例:,fplot(sin(1/x),0.01,0.3),Stem,产生针状图,常被用来绘制数位讯号。,x=linspace(0,10,100);y=sin(x).*exp(-x/4);stem(x,y);,Fill,将资料点视为多边形顶点,并将此多边形涂上颜色。,x=linspace(0,10,100);y=sin(x).*exp(-x/4);fill(x,y,c);,Feather,函数将每一个数据点视为复数,并以箭头画出。,theta=linspace(0,2*pi,40);z=cos(theta)+i*sin(theta);feather(z);,Compass,函数与,feather,函数接近,只是每个箭头的起点都在圆内,theta=linspace(0,2*pi,40);z=cos(theta)+i*sin(theta);compass(z);,Quiver,用来绘制向量场图。,x,y=meshgrid(-2:0.2:2);z=x.*exp(-x.2-y.2);Dx,Dy=gradient(z,0.2,0.2);,Contour(x,y,z);hold on;quiver(x,y,Dx,Dy);colormap hsv ;hold off,3,、显函数、隐函数和符号函数作图,(1)fplot(fun,lims),绘制由字符串,fun,指定函数名的函数在,x,轴区间为,lims=xmin, xmax,的函数图。若,lims=xmin,xmax,ymin,ymax,,则,y,轴也被限制。,例题:,解,1,)首先用,M,文件定义函数,f(x),如下,function y=Afun1(x);,if x4);zz(ii)=NaN;,surf(xx,yy,zz);,x=-10:0.5:10;y=-8:0.5:8;,x,y=meshgrid(x,y);,z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2);,mesh(x,y,z);,示例,2,:,(,2,)着色函数,surf,surf(X,Y,Z,C),输入参数的设置和,mesh,相同,不同的是,mesh,绘制的是网格图,而,surf,绘制的着色的三维表面。两者对比如下图所示,函数名,说明,函数名,说明,函数名,说明,bar3,三维条形图,surfc,着色图,+,等高线,comet3,三维彗星图,trisurf,三角形表面图,ezgraph3,函数控制绘制图,waterfall,瀑布图,pie3,三维饼状图,scatter3,三维散射图,cylinder,柱面图,stem3,三维离散数据图,sphere,球面图,trimesh,三角形网格图,(,3,)特殊的三维绘图命令,(,4,)旋转曲面图,cylinder,X,Y,Z = cylinder(r),这里的,r,表示构成旋转曲面的曲线。,方法一:,Matlab,程序如下。,x=0:10:600;,X,Y,Z=cylinder(30*exp(-x/400).*sin(x+25*pi)/100)+130);,surf(X,Y,Z),方法二:将旋转曲面用参数方程表示。,解,因为这里的函数是隐函数,化成显函数后有两支,必须使用参数方程,旋转面的参数方程为,画图的,Matlab,程序如下:,alpha=0:0.1:2*pi; beta=0:0.1:2*pi;,x=4*cos(alpha)*ones(size(beta);,y=(5+4*sin(alpha)*cos(beta);,z=(5+4*sin(alpha)*sin(beta);,surf(x,y,z),画图的,Matlab,程序也可以写成,x=(alpha,beta) 4*cos(alpha);,y=(alpha,beta) (5+4*sin(alpha)*cos(beta);,z=(alpha,beta) (5+4*sin(alpha)*sin(beta);,ezsurf(x,y,z),(,5,)绘制柱面图,柱面平行于某个坐标轴,方程中不出现某个坐标轴的变量,方程表示为,F(x,y)=0,或者,F(x,z)=0,或者,F(y,z)=0,示例一:画出方程,表示的柱面,解:方程中的,x,是自变量矩阵,,z,是因变量,则另一个自变量矩阵为,y,,自变量平面是,xoy,面,,x,轴是真正的自变量,,y,轴是柱面方向。,Matlab,程序如下:,u=linspace(-5,5,10);%,设定参数列向量,u,v=linspace(-5,10,10); %,设定参数行向量,v,X=u*ones(size(v); %,构成自变量矩阵,X,Y=ones(size(u)*v; %,构成自变量矩阵,Y,Z=2-X.2; %,求因变量,Z,mesh(X,Y,Z),(,6,)其他二次曲面,Matlab,中使用绘图命令,ezmesh,或,ezsurf,也很方便,只需要把曲面方程写成两个变量的显函数方程或参数方程即可。,对于旋转面,如果母线的方程可以表示成关于旋转轴变量的显式函数,则可以直接使用,Matlab,工具箱中的命令,cylinder,,否则必须把旋转面化成参数方程,然后使用,ezmesh,或,ezsurf,命令绘图。对于其它的二次曲面,如果可以写成显函数直接使用命令,ezmesh,或,ezsurf,,否则必须先化成参数方程。,几个示例:,(,1,),x=(s,t) 3*tan(s)*cos(t);,y=(s,t) 2*tan(s)*sin(t);,z=(s,t) tan(s);,ezsurf,(x,y,z),(,2,),ellipsoid,(0,0,0,3,2,sqrt(6),(,3,),ezsurf,(x,y)x*y),(,4,),x=(s,t) 3*cos(s);,y=(s,t) 2*sin(s);,z=(s,t) t;,ezmesh(x,y,z),(,7)Matlab,三维散点插值曲面图的绘制,1,、,scatter3,函数,调用方法:,scatter3(X,Y,Z),示例,1,:,x,y,z = sphere(16);,X = x(:)*.5 x(:)*.75 x(:); Y = y(:)*.5 y(:)*.75 y(:);,Z = z(:)*.5 z(:)*.75 z(:);,S = repmat(1 .75 .5*10,numel(x),1);,C = repmat(1 2 3,numel(x),1);,scatter3(X(:),Y(:),Z(:),S(:),C(:),filled), view(-60,60),示例,2,:,x=4229042.63 4230585.02 4231384.96 4231773.63 4233028.58 4233296.71 4235869.68 4236288.29;y=431695.4 441585.8 432745.6 436933.7 428734.4 431946.3 428705.0 432999.5;z=1.019 1.023 1.011 1.022 1.020 1.022 1.022 1.023;scatter3(x,y,z),2,、,griddata,函数,用来产生经插值后均匀间隔数据作图。常用的调用方法是:,XI,YI,ZI = griddata(x,y,z,XI,YI,method),,其中,x,y,z,来自关系式,z=f(x,y),,也可以是离散的数据点,,ZI,是有,XI,和,YI,插值后得到的对应点。其中,method,可以是,linear,,,cubic,和,nearest,。,V1 = 1 1 0;,-1 1 0;,-1 -1 0;,1 -1 0;,x = V1(:, 1);y = V1(:, 2);z = V1(:, 3);,xmin = min(x); xmax = max(x);,ymin = min(y); ymax = max(y);,x0 = linspace(xmin, xmax, 20);,y0 = linspace(ymin, ymax, 20);,x0, y0 = meshgrid(x0, y0);,z0 = griddata(x, y, z, x0, y0, v4);,figure; hold on; view(3);,plot3(x, y, z, r., MarkerSize, 20);,plot3(x0, y0, z0, k.); col = zeros(size(z0);,col(:, end) = 1;mesh(x0, y0, z0, col),示例,1,:,x=10*(0.5-rand(1000,1);,y=10*(0.5-rand(1000,1);,z=sqrt(x.*x+y.*y).*(9.995+rand(1000,1)/100);,clf;,plot3(x,y,z,rp,markerSize,4);,hold on;,xx,yy=meshgrid(linspace(min(x),max(x),linspace(min(y),max(y);,zz=griddata(x,y,z,xx,yy,cubic);,mesh(xx,yy,zz);,shading interp;,colormap gray;,hold on;,示例,2,:,示例,3,:,x = rand(100,1)*4-2; y = rand(100,1)*4-2; z = x.*exp(-x.2-y.2);,ti = -2:.25:2;,xi,yi = meshgrid(ti,ti);zi = griddata(x,y,z,xi,yi);,mesh(xi,yi,zi), hold on, plot3(x,y,z,o), hold off,3,、,TriScatteredInterp,函数,该函数可以看作是,griddata,的升级版,可以取代,griddata,对离散数据点进行插值。主要用于不规则数据点的插值。主要调用方法:,F= TriScatteredInterp(x,y,z),,相当于定义了一个关于,x,y,z,的插值函数。示例,1,:,x=10*(0.5-rand(1000,1); y=10*(0.5-rand(1000,1); %,生成随机数据,z=sqrt(x.*x+y.*y).*(9.995+rand(1000,1)/100);clf;,plot3(x,y,z,rp,markerSize,4); %,绘制三维散点图,hold on;F=TriScatteredInterp(x,y,z); %,可以理解为定义了一个函数,F(.),xx,yy=meshgrid(linspace(min(x),max(x),linspace(min(y),max(y);,zz=F(xx,yy); %,把,x,,,y,的坐标输入其中,可以计算出插值的,z,维度数值,mesh(xx,yy,zz); %,然后可以采用常规的方法绘制曲面,shading interp;colormap gray;hold on;,注:,1,、对,F,还可以设置方法,F.method=nature/linear /nearest,前两个针对连续曲线。,2,、类似的一些地形图的绘制也是通过这种插值的方法进行绘制。,示例,2,:,z = x.2 + y.2;,F = TriScatteredInterp(x,y,z);,xi,yi = meshgrid(-0.3:.02:0.3, -0.0688:0.01:0.0688);,zi = F(xi,yi);,mesh(xi,yi,zi),xlabel(Interpolated surface, fontweight,b);,figure;,zi = xi.2 + yi.2;,mesh(xi,yi,zi),(,8,)四维表现图,针对,v=v(x,y,z),类型的函数,引入了三维实体的四维切片色图,由函数,slice,实现。,slice(X,Y,Z,V,Sx,Sy,Sz),绘制向量,Sx,Sy,Sz,中的点沿,x,y,z,方向切片图,数组,X,,,Y,,,Z,用来定义,V,的坐标,,V,是,M N P,的矩阵。,slice(X,Y,Z,V,XI,YI,ZI),绘制沿,XI,,,YI,,,ZI,数组定义的曲面的通过容量,V,的切片图。,slice(V,Sx,Sy,Sz),或,slice(V,XI,YI,ZI),默认,X=1:N,y=1:M,Z=1:P,slice(.,method),由,method,指定使用的插值方法,可以为,linear,,,cubic,或,nearest,H=slice(.),返回处理,surface,对象的向量。,Matlab,图形处理的基本技术,1,、图形的控制,图形处理的基本技术包括图形控制、图形标注、图形保持以及子图的绘制等,前三项除了使用函数命令之外,还可以直接在生成的图形界面内进行对应修改。,坐标轴控制函数,axis,两种调用形式:,axis(V),,,V,是一个数组,存储坐标轴的范围,,V=Xmin,Xmax,Ymin,Ymax,Zmin,Zmax,。,axis ,控制字符串,用户可以通过选择不同的控制字符串完成对坐标轴的操作。,坐标轴缩放函数,zoom,调用形式:,zoom ,控制字符串,对图形的缩放不会改变图形的基本结构。,平面的坐标网图函数,grid,调用形式:,grid on/off,图形中绘制,/,取消坐标网格,坐标轴封闭函数,box,调用形式:,box on/off,图形四周都显示,/,常规显示坐标轴,2,、图形的标注,坐标轴标注,主要函数有,title,xlabel,ylabel,调用形式为:,xlabel(,标注,属性,1,属性值,1,属性,2,属性值,2,.),属性包括字体大小,字体名,字体粗细等。,例如:,title(,正弦函数,FontSize,12,FontWeight,bold,FontName,隶书,),标注中的特殊符号有相应的转换字符,例如,alpha,表示,,,beta,表示,,,gamma,表示,,,delta,表示,等等。,显示控制,bf:,黑体,,,it:,斜体,,,rm:,标准形式,,,fontnamefontname:,字体名,fontsize(fontsize):,字体大小。,其他符号如,等只需使用,”,来引导即可,有分数或指数的形式,,相应的指数或分母放到大括号内即可。,例如:,title(bf y=e-x2/2);,文本标注函数,text,text(x,y,标注文本或控制字符串,) x,和,y,表示标注的位置,标注中可以实时调用返回值为字符串的函数,如,char,num2str,等,交互式文本标注,legend,用于解决同一张图中绘制多条曲线的情况。,legend,(,标注,1,标注,2,.,定位代号,)标注,1,,标注,2,等分别对应绘图过程按绘制先后顺序所生成的曲线。定位代号为,0-4,和,-1,,分别针对不同的位置,默认为,1,,置于图形的右上角。,图形的保持和子图,图形的保持函数,hold on/off,子图命令,subplot(m,n,p),动画技术,Matlab,使科学计算余动画自然结合,实现完美的效果,,Matlab,中有很多动画的应用程序,如,travel,truss,lorenz,等。,Matlab,中产生动画的两种形式:,1,、以影片方式产生动画。,这种方式是以图像的方式预存多个画面,再将这些画面助阵播放,即可得到动画的效果。这种方法需要事先准备图片,无法进行实时成像,占内存大。产生动画的方法是使用,getframe,命令来抓取图形作为动画,每个画面都是以一个列向量的方式置于存放整个电影的矩阵,M,中。然后使用,movie(M,k),命令来播放电影。,示例:,clear;,s=0.2;x1=0;nframes=50;,for k=1:nframes,x1=x1+s; x=0:0.01:x1;,y=sin(x); plot(x,y);,axis(0 2*pi -1 1);,grid off;,M(k)=getframe; /,将当前图形存入,M,end,movie(M,3);,2,、以对象方式产生动画。,这种方式保持图形窗口中的大部分对象,即整个背景不变,而只更新部分运动的对象,以便加快整幅图像的实时生成速度。缺点是无法产生复杂的动画。产生移动的动画效果需要先计算对象的新位置,并在新位置上显示出对象,然后擦除原位置上的旧对象,并刷新屏幕。需要用到擦除属性,drasemode(,取值有,normal,xor,background,none),,一般设置为,xor,。然后用,drawnow,命令刷新屏幕,有时会通过,pause,函数进行延迟运行。,a=45;b=2;c=-300;,s=0;t=0;,for n=1:5000,x=t-sign(s)*(sqrt(abs(b*s-c);,y=a-s;,plot(x,y,o);,hold on;,pause(0.1),s=x;,t=y;,end,示例,1,:,示例,2,:,t = 0:pi/20:2*pi;,y = exp(sin(t);,h = plot(t,y,YDataSource,y);,for k = 1:.1:10,y = exp(sin(t.*k);,refreshdata(h,caller) ;,drawnow; pause(.1),end,Matlab,图形用户界面设计,图形窗口本身是由不同的图形对象组成,如坐标轴,曲线,曲面或者文字等,,Matlab,给每一个图形对象都分配了一个标识符,成为句柄,(handle),,可以通过该句柄对对象的属性进行编程控制。直接对图形句柄进行操作的绘图方法称为底层绘图操作。,GUI,就是由窗口、菜单、对话框等各种图形元素组成的用户界面。,1,、创建图形对象的底层函数。,(,1,),h=figure(n),,创建图形窗口,,n,为窗口序号;,(,2,),h=uicontrol(property,value),图形界面控制,,property,和,value,确定控制类型,如,BackGroundColor,,,CallBack,,,FontName,等,(,3,),h=uimenu(property,value),,创建用户界面菜单,(,4,),h=axes(property,RECT),创建轴对象,,RECT,用于定义轴对象的位置和大小。,(,5,),h=line(x,y,z),,创建线对象,二维用,x,和,y,。,(,6,),h=patch(x,y,z,c),创建块对象,,x,y,z,定义多边形,,c,填充颜色。,(,7,),h=surface(x,y,z,c),创建面对象,,x,y,z,定义三维曲面坐标,,c,定义颜色矩阵。,(,8,),h=image(x),显示图像,,x,为图像矩阵,(,9,),h=text(x,y,string),标注文字,示例,1,:,xdata = 2 2 0 2 5;,2 8 2 4 5;,8 8 2 4 8;,ydata = 4 4 4 2 0;,8 4 6 2 2;,4 0 4 0 0;,cdata = 15 0 4 6 10;,1 2 5 7 9;,2 3 0 8 3;,hp = patch(xdata,ydata,cdata,Marker,o,MarkerFaceColor,flat,FaceColor,none),set(hp,EdgeColor,g),或者,set(hp,EdgeColor,none),示例,2,:,t = 0:pi/20:2*pi;,hline1 = plot(t,sin(t),k);,hline2 = line(t+.06,sin(t),LineWidth,4,Color,.8 .8 .8);,2,、图形对象属性的操作,(,1,)对象属性的获取。主要命令有:,get:,获得句柄图形对象的属性和返回某些对象的句柄值。,get(h),,,get(gcf),set:,改变图形对象的属性。,gcf:,当前窗口对象的句柄,对应,Figure,。,h=gcf:,返回当前窗口对象的句柄。,gca:,当前轴对象的句柄,对应,Axes,。,delete(gcf):,删除当前窗口的属性。,示例,1,:,h=figure(1);,h1=line(2:36,3:37);,h3=gcf;,h4=gca;,set(h1,color,1 0 1);,set(h3,color,0.5 0.5 0.5);,set(h4,color,1 1 0);,(,2,)对象属性的直接操作,通过当前句柄实现对象属性的直接操作,获取句柄的函数为,get(h),get(h,属性名称,);set(h),,,set(h1,属性名称,新属性值,),,如,set(h,color,m,linewidth,2,linestyle,*);,3,、菜单设计,(,1,)建立用户菜单,用户菜单包含一级菜单和二级菜单,每一级菜单又包含许多菜单项,建立用户菜单使用,uimenu,函数,调用方法“,一级菜单句柄,=uimenu(,图形窗口句柄,属性名,1,属性值,1,属性名,2,属性值,2.),子菜单项句柄,=uimenu(,一级菜单句柄,属性名,1,属性值,1,.),(,2,)菜单对象常用属性,菜单对象的公共属性有,Children,Parent,Tag,Type,UserData,Visible, ButtonDownFcn,CreateFcn,DeleteFcn,,特殊属性有:,Lable(,菜单项的名字,),Accelerator(,快捷键,),Callback(,响应函数,,M,文件或者命令,),Checked,Enabled,Position,Separator,。,示例:见备注,(,3,)快捷菜单,右键弹出菜单,使用,uicontextmenu,函数和图形对象,UIContextMenu,属性来建立快捷菜单。步骤,(1),使用,uicontextmenu,函数建立快捷菜单项;,(2),使用,uimenu,为快捷菜单添加菜单项,;(3),利用,set,函数将快捷菜单和某图形对象联系起来。,示例:见备注,4,、对话框设计,对话框是用来要求或提供信息的暂时出现的窗口,在对话框上有各种的控制图符合文字,有自己的窗口边界,也可以由其他一些窗口元件,如菜单、标题栏、按钮、文本框等。基本元件有静态文本框,(text),编辑框,(edit),列表框,(listbox),弹出框,(popupmenu),滑动条,(slider),按钮,(pushbutton),单选按钮,(radiobutton),和复选框,(checkbox),。,标准对话框的实现:,(,1,)文件名处理的对话框。,文件名,路径名,=uigetfile(,文件类型,对话框标题,),,文件类型是一个字符串,如“,*.m,”,例如:,myfile,mypath=uigetfile(*.m;*.txt,打开文件对话框,),(,2,)字体设置对话框。,hFont=uisetfont(,句柄,标题,);,句柄指的是要修改字体的对象,如果使用,hFont=uisetfont(,标题,),则进行整体字体设置,用户可以调用,get(hFont,FontName),和,get(hFont,FontSize),获得字体名和大小。,(,3,)颜色设置对话框。颜色值,=uisetcolor(,句柄,对话框标题,),,返回的颜色值是一个,1,*,3,的向量,如果给出,mycolor=uisetcolor(,颜色对话框,),可以从给定的颜色对话框中选择颜色值。,一般对话框的实现:,返回句柄,=uicontrol(,对话框句柄,属性,1,,属性值,1,,,),;各个属性的取值与前面的菜单项属性类似。主要属性有:,(1)style,设置控制元件的风格,主要前面提到的如,text,的,8,类元件。,(2)Callback,响应命令,(3)String,出现在控件上的字符串,(4)Position,和,Units,(5)Visible (6)BackgroundColor,和,ForgroundColor,(7)HorizontalAlignment,pbstart=uicontrol(gcf,style,push,Position,20,20,100,25,String,start plot,.,Callback,t=-pi:pi/20:pi;plot(t,sin(t);,pbstart=uicontrol(gcf,style,toggle,Position,150,20,100,25,String,Grid,.,Callback,grid on);,示例,2,:,示例,1,:,hpop=uicontrol(gcf,style,popup,String,red|blue|green|yellow|white|,.,Position,100,100,100,80,Callback,cbcol=R,B,G,Y,W;,.,set(gcf,Color,cbcol(get(hpop,Value);,示例,3,:,hlist=uicontrol(gcf,Style,list,String,red|yellow|white|green|blue,.,Position,100,100,100,80,Callback,cbcol=r,y,w,g,b;.,set(gcf,Color,cbcol(get(hlist,Value););,示例,4,:见备注,5,、图形用户界面设计,界面设计的可视化操作,实现了所见即所得的效果。使得制作一般对话框程序更加方便快捷。,示例:,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!