matlab句柄绘图和GUI

上传人:油条 文档编号:13091072 上传时间:2017-09-04 格式:PDF 页数:53 大小:675.70KB
返回 下载 相关 举报
matlab句柄绘图和GUI_第1页
第1页 / 共53页
matlab句柄绘图和GUI_第2页
第2页 / 共53页
matlab句柄绘图和GUI_第3页
第3页 / 共53页
matlab句柄绘图和GUI_第4页
第4页 / 共53页
matlab句柄绘图和GUI_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《matlab句柄绘图和GUI》由会员分享,可在线阅读,更多相关《matlab句柄绘图和GUI(53页珍藏版)》请在金锄头文库上搜索。

1、第五讲 matlab句柄绘图和 GUImatlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。高层绘图与底层绘图的区别 高层绘图函数 是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的, 充分体现了 matlab语言的实用性。 底层绘图函数 可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了 matlab语言的开发性。一、什么是句柄图形 句柄图形:利用底层绘图函数,通过对 对象属性 的设置(Handle Graphics)与操作实现绘图。 句柄图形是一种面向对象的绘图系统

2、,其中所有图形操作都是针对图形对象而言的。 句柄图形充分体现了面向对象的程序设计。 之前介绍的高层图形指令(如plot)都是以句柄图形软件为基础写成的。也正是这个原因,句柄图形也被称为底层(Low-level)图形。 句柄图形的功能 句柄图形可以随意改变 matlab生成图形的方式。 句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。 句柄图形可以直接创建线、文字、网格、面以及图形用户界面。二、图形对象和句柄1. 图形对象 matlab把用于数据可视和界面制作的基本绘图要素称为句柄图形对象(Handle graphics object),它是图形系统中

3、最基本、最底层的单元,每个图形对象可以被独立地操作。在matlab中生成的每个具体图形,由若干不同对象构成。每个具体图形不必包含全部对象,但每个图形必须具备根屏幕和图形窗。父对象子对象图形对象的基本要素以根屏幕为先导图形对象之间的关系为父代与子代的关系窗口 1 窗口 n窗口 2界面控制 界面菜单 轴线 面 字 块 像根屏幕说明:根: 图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。图形窗口: 根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代。界面控制: 图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,并

4、返回句柄。界面菜单: 图形窗口的子代,创建用户界面菜单对象轴: 图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈线: 轴的子代,创建线对象面: 轴的子代,创建块对象字: 轴的子代,创建字对象块: 轴的子代,创建块对象像: 轴的子代,创建图像对象0 1 2 3 4 5 6-1-0.8-0.6-0.4-0.200.20.40.60.81窗口对象线对象轴对象0102001020-10010-5-1-0.500.51x=-pcos(x)value of t100 200 300050100150200-1-0.500.51面对象轴对象像对象块对象线对象文字对象2.创建图形对象的底层函数 fig

5、ure创建图形窗口调用格式 : h=figure(n) n为窗口序号 uicontrol图形界面控制调用格式 : h=uicontrol(property,value)property/value确定控制类型 例:使用程序把基本控件安装在图形窗口上编辑文本框,复选框,列表框,命令按钮,单选按钮 h1=uicontrol(style, edit,TooltipString,Edit Text) h2=uicontrol(style, checkbox, Position , 90,20,30,20,TooltipString, Checkbox) h3=uicontrol(style, list

6、box, Position , 150,20,40,20,TooltipString, Listbox) h4=uicontrol(style, pushbutton, Position , 210,20,30,20,TooltipString, pushbutton) h5=uicontrol(style, radiobutton, Position , 260,20,30,20,TooltipString, Radiobutton) uimenu创建用户界面菜单调用格式 :h=uimenu(property,value)property/value 确定菜单形式。 axes创建轴对象h=a

7、xes(property, )定义轴对象的位置与大小left, bottomwidth,height例: axes(position,0.1 0.1 0.5 0.2)x=0:0.5:10;y=x;plot(x,y)还有 axis命令 ,定义了轴的位置、宽度和高度。例: axis(0 10 2 10)注意二者的区别 line创建线对象h=line(x,y,z) patch 创建块对象h=patch(x,y,z,c) x,y,z定义多边形, c确定填充颜色。 surface创建面对象,是底层函数h=surface(x,y,z,c) x,y,z三维曲面坐标,c颜色矩阵。而 surf是高级函数。二维画

8、线三维画线light灯光对象 函数 light创建一个灯光源。一个灯光源含三个因素:颜色、风格、位置。 调用: light(color,1,1,1,style,local or infinite,position,x,y,z) 本地光 :X,Y,Z表示光源位置。无穷远光:X,Y,Z表示无穷远光通过该点射向原点。例:subplot(2,2,1)membrane %这是一个库函数light(color,0.9 0.5 0.1,position,0,-2,1)%风格省略为无穷远,光顺序通过 (0 0 0)和 (0 -2 1)subplot(2,2,2)membrane light(color,0.9

9、 0.0 0.1,style,local,position,1,-1,1)%风格为本地光,光源在 (1 -1 1)位置 image显示图象h=image(x); x为图像矩阵 x=peaks; h=image(x); text标注文字对象h=text(x, y, string)例: h=text(0.1,0.2,super star) 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。确定标注位置 标注字符串3.图形对象的属性 图形对象是由属性来描述的,可以通过修改属性来控制对象外观、行为等诸多特征。用户不但可以查询当前任意对象的任意属性值,而且可以指定大多数属性的取值。 在高层

10、绘图中对图形对象的描述一般是省缺的或由高层绘图函数自动设置的,因此对用户来说几乎是不透明的。但句柄绘图中上述图形对象都是用户需要经常使用的,所以要做到心中有数,用句柄设置图形对象的属性。 什么是句柄?句柄是图形对象的标识代码(唯一的身份),标识代码含有图形对象的各种必要的属性信息。 各图形对象的句柄数据格式:根屏幕 0图形窗口 正整数,表示图形窗口序号其它对象 对应的双精度浮点数4.句柄(handle)与句柄操作 所有能创建图形对象的 matlab函数都可给出所创建图形对象的句柄例:创建 1号窗口,返回句柄h=figure(1)h=1 返回值为窗口号数h=figure(color,1 0.1

11、0,position,0 0 200 100,name,ww)例: h=line(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄变量 h是句柄值 符点数 句柄属性的设置与修改get: 获得句柄图形对象的属性和返回某些对象的句柄值get (gca,属性 ) 返回当前坐标的单项属性值set: 改变图形对象的属性 专用函数:gcf:当前窗口对象的句柄 Get CurrentFiguregca:当前轴对象的句柄 Get CurrentAxesget(gca) 返回当前坐标的所有属性值二、图形对象属性的获得与设置 操作格式:h=gcf 将当前窗口对象的句柄返回 hget(h)或 get (gcf

12、) 查阅当前窗口对象的属性Delete (gcf) 删除当前窗口的属性例: h=line(x,y)1. get(h)2. get(gca, children)轴的子代例:创建一个线对象并返回线对象的句柄值 h1=line(0:10,0:10)h1 =57.0001h1为句柄的代码值0 1 2 3 4 5 6 7 8 9 10012345678910 查阅线对象的属性名称和属性值get(h1)Color = 1 1 0EraseMode = normalLineStyle = -LineWidth = 0.5MarkerSize = 6Xdata = (1 by 11) Ydata = (1 b

13、y 11) Zdata = ButtonDownFcn = Children = Clipping = onInterruptible = noParent = 56.0001Type = lineUserData = Visible = on 根据轴是线对象的父代,可查轴的句柄get(gca) 可查色序get(gca,colororder)ans =1 1 01 0 10 1 11 0 00 1 00 0 1 设置线条和窗口的颜色set(h1,color,1 0 0)set(h1,color,1 0.5 0)0 2 40123456789100 2 4 6 8 10012345678910s

14、et(gcf,color,0.5 0.5 0.5)set(gcf,color,0.5 0.6 0.8)0 1 2 3 4 5 6 7 8 9 100123456789100 1 2 3 4 5 6 7 8 9 10012345678910例:作正弦、余弦曲线,将正弦曲线改为虚线,将余弦曲线幅度减为 1/2高度,如何用句柄实现。x=0:2*pi/180:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,x,zeros(size(x),:)0 1 2 3 4 5-1-0.500.510 1 2 3 4 5 6 7-1-0 .8-0 .6-0 .4-0 .200.20.40.60.81 首先查询各对象的属性get(gcf)h=get(gcf,children)h =60.0004hh=get(gca,children)hh =70.000469.000468.00040 1 2 3 4 5-1-0.500.510 1 2 3 4 5 6 7-1-0 .8-0 .6-0 .4-0 .200.20.40.60.81 修改属性y11=get(hh(2),ydata);y22=y11/2;set(hh(2),ydata,y22)set(hh(3),linestyle,:) 控制一个图形对象是通过句柄实现的,具体是通过句柄操作函数 get,set将某对

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号