matlab句柄绘图和GUI

合集下载

4MATLAB图形界面制作(GUI)与句柄图形

4MATLAB图形界面制作(GUI)与句柄图形
• 在MATLAB图形用户界面(GUI)设计中,有两种菜 单类型,分别是下拉式菜单类型Uimenu和内容式 菜单类型Uicontextmenu。
2020/3/20
14
图形界面制作-菜单(2)
➢ 菜单的建立:
在MATLAB中,可以通过命令行方式和GUI设计工具中的菜单 编辑器两种方式建立菜单: (1)命令行方式 :在命令行方式下,可以通过函数uimenu建
2020/3/20
13
图形界面制作-菜单
• 在绝大多数的图形用户界面下,都包含有菜单。 通过选择各级菜单,可以执行相应的命令,实现 相应的功能。一般地,从菜单的标题或名字可以 大概了解该菜单的功能。在Windows系统中,菜 单一般位于用户图形界而的顶端。例如, MATLAB的主窗口中,就有一个主菜单栏,包括 File、Edit、View、Help等主菜单。在各级主菜单 下,还有相应的子菜单。
后再定义框架中的控件。框架的style属件值是frame。
(4)列表框(List boxes)
列表框中列出其String属性的字符串项。用户可以方便的选择一个或多 个列表项。列表框的Max和Min属性控制选择模式;Value属性标明选择 的列表项的索引值。当列表框上的鼠标松开后,MATLAB会调用 Callback例程。一般地,单击与双击列表框的效果是不一样的。列表框 的Style属性值是listbox。
2020/3/20
11
菜单编辑器(2)
• 图中左上角第一个按钮用于创建下拉式菜单。用户可以通过点击它, 来创建下拉式主菜单。第二个按钮用于创建下拉式主菜单的子菜单, 在选中已经创建的下拉式主菜单后,可以单击这个按钮来创建选中的 下拉式主菜单的子菜单。选中创建的某个下拉式菜单,菜单编辑器的 右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。

第五章 MATLAB里的GUI

第五章 MATLAB里的GUI

创建图形用户界面的方法——图形句柄和GUIDE 都需要使用M语言编程,但是技术的侧重点不同。 MATLAB提供了基本的用户界面元素:包括菜单、快捷菜 单、按钮、复选框、单选框、文本编辑框、静态文本、下
拉列表框、列表框等。
句柄(handle)与句柄操作

什么是句柄?
句柄是图形对象的标识代码(唯一的身份),标 识代码含有图形对象的各种必要的属性信息。 各图形对象的句柄数据格式: 根屏幕 图形窗口 其它对象 0 正整数,表示图形窗口序号 对应的双精度浮点数
在GUIDE的界面的工具栏上包含了一些常用的工具,如图。
菜单编辑器
属性察看器
激活工具
对齐工具
M 文件编辑器
对象察看器
GUIDE工具栏上的工具按钮
图形用户界面的例子
在该图形用户界面中包含如下控件:
* 两个推按钮(push button),分别完成绘制三维 曲面和改变色彩的功能;
* 五个静态文本框(static text),分别用来完成显 示不同信息的功能; * 一个滚动条(slide),用来完成改变三维曲面上 的分隔线色彩; * 一个坐标轴(axes),用来显示三维曲面;
选择已经存在的图形界面文件,该文件的扩展名为 fig。 打开一个存在的GUI界面文件: >> guide gui_filename 这时在GUIDE中将显示已经创建好的图形界面外 观。
选择空白界面类型,并单击“OK”按钮,这时
MATLAB将启动GUIDE的图形界面,如图所示。
具有空白界面的GUIDE图形界面
例:
get(0,'DefaultFigureColor') —— 获得图形 窗口的省缺值 set(h,'DefaultLineColor','r') ——设置线的 颜色为红色 例:在图上添加文字注释,颜色为红色 set(gca,'DefaultTextColor',[1 0 0]) gtext('正弦') gtext('余弦') %鼠标取点 在轴对象上设置字对象的颜色省缺值为红色 继承该省缺值在图上添加红色的文字注释

matlabGUI人机用户界面设计[6]

matlabGUI人机用户界面设计[6]
图7-16 放置图形顾客界面旳控件
图7-18 对齐工具对话框
在界面之中还需要创建菜单,创建菜单能够经过菜单编辑器完毕。单击工具栏上旳菜单编辑器按钮,能够打开菜单编辑器对话框,在对话框中单击创建新菜单按钮,则能够创建新旳菜单,设置菜单属性如图7-20所示。
以空白界面类型为例,单击“OK”按钮,这时MATLAB将开启GUIDE旳图形界面,如图所示。
图 具有空白界面旳GUIDE图形界面
在GUIDE界面旳左侧为MATLAB旳控件面板,控件面板包括了能够在画布上绘制旳图形控件: (Push Button)、单项选择按钮(Toggle Button)、单项选择框(Radio Button)、复选框(Checkbox)、文本框(Edit Text)、静态文本框(Static Text)、滚动条(Slider)、组别框(Frame)、列表框(Listbox)、下拉框(Popup Menu)和坐标轴(Axes)。
2.1 GUIDE工具入门
使用图形句柄创建GUI旳过程繁琐,而且在程序编写好之前,顾客图形界面是不可见旳。所觉得了便于创建图形顾客界面,MATLAB提供了一种开发环境,能够帮助顾客创建图形顾客界面,这就是GUIDE——Graphic User Interface Development Environment。 在MATLAB中开启GUIDE旳措施: >>guide或者经过“Start”菜单项选择择“MATLAB”下旳“GUIDE”命令。
这时,将直接开启GUIDE Quick Start窗体,在这个窗体中,能够初步选择图形顾客界面旳类型,如图所示。
图 GUIDE旳迅速开启界面
在迅速开启界面中,能够选择四种类型旳新建界面:* 空白界面(Black GUI)。* 具有图形控件旳界面(GUI With Uicontrols)。* 具有菜单和坐标轴旳界面(GUI With Axes and Menu)。* 模式对话框(Modal Question Dialog)。

MATLAB GUI程序设计

MATLAB GUI程序设计

按钮控件
图形窗口
坐标轴
句柄( 句柄(Handle)—图形对象的标志 ) 图形对象的标志
句柄就是某个图形对象的记号, 句柄就是某个图形对象的记号,matlab给每 给每 个图形对象都指定一个handle,由句柄唯一 个图形对象都指定一个 , 地标值要操作的图形对象( 地标值要操作的图形对象(类似电话区号和 号码)。 号码)。 对于root对象,matlab规定它的句柄是屏幕, 句柄值为0
Root(屏幕)
Figure(图)
Uicontrol( 界 面 控 制項)
Axes(轴)
Uimenu( 界 面 选 单)
Line (线条)
Surface (表面)
Rectangle (矩形)
Patch (貼片)
Image (图像)
Text (文字)
Light (光源)
图形体系
文字控件 界面表单
弹出表单 控件 曲线
创建GUI 创建
基本步骤: 基本步骤: 1. 设计 图形用户界面 2. 用GUIDE 编辑界面 3. 编写回调函数 4. 保存,运行 保存,
GUI编辑界面 编辑界面 对齐
菜单 工具栏 M文件编辑 文件编辑
控 件
{
属性
运行
基本控件Basic Controls: 基本控件 :
axes: 坐标轴 static text: 静态文 本,用户不可编辑 edit box: 文本框, 文本框, 用户可编辑。 用户可编辑。 button:按钮 按钮
属性窗口The Property Inspector: 属性窗口 : Tag –控件名称 控件名称. 控件名称 String – 控件显示的内容 ForegroundColor –文字显示内容 文字显示内容 BackgroundColor –控件背景 控件背景

4MATLAB图形界面制作(GUI)与句柄图形

4MATLAB图形界面制作(GUI)与句柄图形
2019/4/2 3
一般制作步骤
界面制作包括界面设计和程序实现。具体制作 步骤如下:
(1)分析界面所要求实现的主要功能,明确设计任务。 (2)构建界面草图,并站在使用者的角度来审查草图。 (3)按构思的草图.制作(静态)界面并检查。 (4)编写界面动态功能的程序,对功能进行逐项检查。
[说明]
以上过程,仅是一般原则。在设计中,步骤之间也许要交叉 执行或复合执行。 设计和实现过程往往需要反复修改才能获得满意的界面。 建议先进行界面布局编码,后进行动态交互功能的编码。
2019/4/2 4
界面编程需要注意的事项
• 用户界面适合软件的功能(合适 性)。是指用户界面与软件功能 相融洽的程度。要避免用户的误 解、费解等。另外,不能为适应 某种体系结构的优势而导致界面 的不合适性。 容易理解。如果通过界面难以理 解界面的意图,使用起来一定费 力。容易理解是容易应用的前提。 要做到这一点:(1)界面中不能 有错字。(2)图标按钮含义直观 明了。(3)界面元素提供充分而 必要的提示。(4)界面结构能够 清晰的反映工作流程,以便用户 操作。 及时反馈信息。 防错处理。
2019/4/2 13
图形界面制作-菜单
• 在绝大多数的图形用户界面下,都包含有菜单。 通过选择各级菜单,可以执行相应的命令,实现 相应的功能。一般地,从菜单的标题或名字可以 大概了解该菜单的功能。在Windows系统中,菜 单一般位于用户图形界而的顶端。例如, MATLAB的主窗口中,就有一个主菜单栏,包括 File、Edit、View、Help等主菜单。在各级主菜单 下,还有相应的子菜单。 • 在MATLAB图形用户界面(GUI)设计中,有两种菜 单类型,分别是下拉式菜单类型Uimenu和内容式 菜单类型Uicontextmenu。

第四节matlab句柄绘图-资料

第四节matlab句柄绘图-资料
DefaultAxesAspaceRatio —— 轴的视图比率
DefaultLineLineWide —— 线的宽度
DefaultLineColor —— 线的颜色
※省缺值的获得与设置也是由get,set函 数实现的
例:
get(0,'DefaultFigureColor') —— 获得图形 窗口的省缺值
第四节 matlab句柄绘图
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
父对象
界面控制 界面菜单 轴
子对象
线




图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根
只有一个,其它所有图形对象都是根的后 代。
图形窗口: 根的子代,窗口的数目不限,所 有图形窗口都是根屏幕的子代,除根之外, 其它对象则是窗的后代。
界面控制:图形窗口的子代,创建用户界面 控制对象,使得用户可采用鼠标在图形上 作功能选择,并返回句柄。
• uimenu创建用户界面菜单 调用格式: h=uimenu(‘property’,value) property/value 确定菜单形式。 • axes 创建轴对象
h=axes(‘property’, left, bottom )
width,height
定义轴对象的位置与大小
• line 创建线对象 h=line(x,y,z)

matlab的可视化和GUI设计

matlab的可视化和GUI设计

MATLAB的计算可视化和GUI设计一、实验目的和要求(1)熟练掌握MA TLAB二维曲线的绘制(2)熟练掌握图形的修饰(3)掌握三维图形的绘制(4)熟练掌握各种特殊图形的绘制(5)掌握句柄图形的概念(6)掌握GUI设计二、内容和步骤(1)绘制二维曲线plot命令是MA TLAB中用来绘制二维曲线的1个常用命令。

>>subplot(221)>>x1=0:0.1:2*pi;>>y1=sin(x1);>>plot(x1,y1)以上命令是把图形窗口分割成两行两列,在窗口1绘制y=sin(x)的曲线;>>subplot(222)>>x2=peaks;>>plot(x2)在窗口2中绘制49*49的矩阵x2的曲线;>>subplot(223)>>x3=[1 2 3];>>y3=[1 2 3;4 5 6];>>plot(x3,y3)在窗口3中绘制x,y的混合曲线;>>x4=[1 1 1;2 2 2];>>y4=[1 3 7;5 9 6];>>z=x4+i*y4;>>plot(z)在窗口4中绘制复向量的曲线。

如下图所示:在窗口2中添加图形的网格并添加文字“x2曲线”>>subplot(222)>>hidden off>>subplot(222)>>grid on>>title('x2曲线')在窗口1中增加y=cos(x)曲线,并用两种不同的线型来表示y=sin(x)和y=cos(x) >>plot(x1,y1,’.’)>>hold on>>y=cos(x1);>>plot(x1,y,’o’)>>legend('sin(x)','cos(x)',4) %添加图例>>xlabel('x') %横坐标轴名>>ylabel('y') %纵坐标轴名在窗口2中改变坐标比例,并去掉坐标框>>axis([0,50,-5,5])>>box off(2)绘制三维图形在MA TLAB中,用来绘制三维图形的命令是plot3,它的使用格式与二维绘图的plot命令相似。

matlab中的句柄

matlab中的句柄

matlab中的句柄在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达到不同的效果例如:gcf 是返回当前被激活的窗口的句柄。

你可以认为它就指代当前窗口。

figure(gcf)打开这个窗口。

这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。

希望能对初学Matlab界面设计的朋友们有所帮助。

GUI学习笔记:句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。

(3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。

(4) a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePr opertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory 与图形对象类型(如Figure)还有属性名称(如Color)组成。

a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。

(5) a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePr opertyName1',...)返回句柄值为h的对象指定属性的默认值。

如“DefaultFigureColor”。

五讲matlab句柄绘图ppt课件

五讲matlab句柄绘图ppt课件
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
• 底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
一、什么是句柄图形
• 句柄图形:利用底层绘图函数,通 过对对象属性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形中所有图形操作都是针对 图形对象而言的。
界面菜单: 图形窗口的子代,创建用户界 面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建块对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
2
3
4
5
6
7
set(0,'defaultfigurecolor','b') set(0,'defaultaxescolor','g') h=line(x,y) set(h,'color','r') set(gca,'xcolor','w') set(gca,'ycolor','w')

第五讲matlab句柄绘图和GUI

第五讲matlab句柄绘图和GUI

1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
轴对象
窗口对象
线 对 象
面对象
10 0
value of the cosine 1
cos(x)=0.707
0.5
0
线对象
cos(x)
-10 20
轴对象
10
00
-0.5
20
10
-1
-5
0 50
像对象100 150 200
1 0.5
0 -0.5
-1 100 200 300
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色 set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
5
4
4
3
3
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
• 句柄图形:利用底层绘图函数,通过对对象属 性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形是一种面向对象的绘图系统,其中所 有图形操作都是针对图形对象而言的。
• 句柄图形充分体现了面向对象的程序设计。 • 之前介绍的高层图形指令(如plot)都是以句柄
图形软件为基础写成的。也正是这个原因,句 柄图形也被称为底层(Low-level)图形。

MATLAB GUI设计基础和经验谈

MATLAB GUI设计基础和经验谈

• Position • [左,底,宽,高]
• 根据不同的使用情况决定使用哪一种unit; • 在设计有嵌套的界面时用normalized较好(利于进行整体
移动); • 初期设计时一般直接拖动控件,不需要精确地设定参数, 在整体位置基本确定后再具体设定位置参数。 • 合理使用工具栏中的对齐工具。
Opening函数
般用作mat文件的存取,不建议在这里使用。
编程中的其他tips
• 容错设计的惯常方式 • try • statements • catch • disp(['[',mfilename,':xxxx_pushbutton_Callback] Error! ']) • disp(lasterr) • dbstack • end • 优点是出错可以退出程序并且能指出出错位置。 • 与GUI无关的编程tips此处略去。
放置图形用户界面的控件
创建菜单
• 创建菜单,创建菜单可以通过菜单编辑器完成。
设置对象属性
•String属性和Tag属性 •String为显示在控件上的文本,Tag相当于为控件取个名字(与句柄一
一对应)。设置属性可以使用GUIDE的属性察看器和控件浏览器完成。 •在设置图形界面对象的Tag属性时,建议按照如下的格式进行设置: objectstyleObject-Function,即使用表示对象类型的字符串作为Tag属 性的前缀,这样在编写控件回调函数时,能够直接从控件的名称上判断 控件的类型,便于程序的管理和维护。
有的没有),同样是界面开始运行时执行。
常用函数总结
• get :get(h)或a=get(h);get(h,’PropertyName’)
• set,reset:a=set(h);set(h,’PropertyName’,PropertyValue,…);

matlab GUI函数句柄

matlab GUI函数句柄
当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。
(18)WindowButtonDownFcn:有效值为字符串或函数句柄
(9)a = set(0,’factory’)返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。
(10)a=set(0,’FactoryObjectTypePropertyName’)返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。
(4)a = get(0,’FactoryObjectTypePropertyName1′,’FactoryObjectTypePropertyName2′,…)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。
plot(1:10);grid on;set(gca,’gridlinestyle’,'-.’);将当前坐标轴显示的网格线为点-虚线
(6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)
(7)NextPlot:有效值为add|replace|replacechildren,默认为replace
set(gcf,’units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中 ,大括号中是默认值

MATLAB计算可视化和GUI设计doc

MATLAB计算可视化和GUI设计doc

实验报告专用纸实验室:机号:实验日期:课程名称MATLAB实用教程实验项目名称MATLAB计算可视化和GUI设计实验组别第组同组者教师评语及成绩:实验成绩:教师签字:(请按照实验报告的有关要求书写,一般必须包括:1、实验目的;2、实验内容;3、实验步骤与方法;4、实验数据与程序清单;5、出现的问题及解决方法;6、实验结果、结果分析与体会等内容。

)一、实验目的1.熟练掌握MATLAB二维曲线的绘制和修饰2.掌握三维图形的绘制3.熟练掌握各种图形的绘制4.掌握句柄图形的概念和GUI设计二、实验内容(1)绘制二维曲线把图形窗口分割为2行2列,在窗口1中绘制1条正弦曲线y=sin(2*pi*t),t∈[0,2];在窗口2中绘制3条衰减的单边指数曲线y=e^(-t)、y=e^(-2t)和y=e^(-3t),t∈[0,2];在窗口3中绘制1个矩形脉冲信号,脉冲宽度为1,高度为2,开始时间为1;在窗口4中绘制1个单位圆。

(2)绘制多条二阶系统时域曲线和三维图形1.在同一平面绘制多条二阶系统时域曲线。

2.使用句柄图形3.使用图形窗口功能4.绘制三维图形(3)特殊图形1.绘制条形图2.绘制实心图3.绘制阶梯图4.绘制火柴图(4)GUI设计1.设计界面2.设计控件属性实验报告附页实验名称MATLAB计算可视化和GUI设计3.回调函数三、实验步骤与方法(1)绘制二维曲线1.使用subplot函数,在窗口中按照先向右、后向下的顺序绘制多个子图2.使用title语法为子图添加标题3.使用axis([xmin,xmax,ymin,ymax])命令为第2个子图设置坐标范围4.使用axis equal命令将第4个子图的坐标轴设置为等长刻度(2)绘制多条二阶系统时域曲线和三维图形1.在同一平面绘制多条二阶系统时域曲线。

a)使用plot函数绘制1条阻尼系数zeta=0的二阶系统曲线b)使用hold on命令在同一窗口叠绘4条曲线c)使用title和legend分别为曲线添加标题和图例d)使用grid on为曲线添加网格e)使用gtext将文字写在鼠标单击的地方f)使用ginput获取鼠标单击任意三点的图形数据2.使用句柄图形a)使用gcf命令获取当前图形窗口句柄b)使用gca命令获取当前坐标轴句柄c)使用gco命令获取被鼠标最近单击的对象的句柄使用get(h_obj,’PropertyName’)获取句柄对象指定标题的当前值d)使用h=findobj(h_obj,’PropertyName’,PropertyValue)获取文字句柄e)使用set函数来设置对象的属性值3.使用图形窗口功能选择菜单“View”→“Property Editor”命令,打开图形的属性窗口,单击图形中的对象打开的当前对象属性,在属性窗口设置各图形对象的属性。

北航matlab课件第五讲句柄图形和GUI

北航matlab课件第五讲句柄图形和GUI

自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过get函数获取对象的句柄 如果图形对象已知,可以在程序中通过get函数获取图形对象的句柄。 H_pa=get(H_known,PV) H_pa=get(H_known,’Parent’) 获取H_known句柄对象之父对象的句柄 H_ch=get(H_known,’Children’) 获取H_known句柄对象之子对象的句柄 >> get(H_mesh,'Children') ans = Empty matrix: 0-by-1 >> get(H_mesh,'Parent') ans = 158.0062
>> view(3) >> text('Position',[.5 .5 .5],'String','Hello')
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象句柄的获取方法 通过图形创建命令获取对象的句柄 在Matlab中无论使用高层命令还是底层命令都可以通过以下指令获取句柄。 H_GC=GraphicCommand(……….) >> H_mesh=mesh(peaks(20)) H_mesh = 159.0073
父对象
子对象
兄弟对象
自动化科学与电气工程学院
句柄图形与GUI
句柄图形
对象属性 所有对象都有一组定义和描述其外貌和性状的属性(Properties)。 属性有两个部分组成:属性名和属性值。 用户不仅可以查询当前对象的任意属性值,在创建图形对象的时候还可以指定大多 数属性的取值。
>> get(gcf) Color = [0.8 0.8 0.8] Colormap = [ (64 by 3) double array] CurrentAxes = [158.003] CurrentObject = [] NextPlot = add Position = [363 214 560 420] Children = [158.003] Parent = [0]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
度。 例: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是高级函数。
• h3=uicontrol('style', 'listbox', 'Position' ,
[150,20,40,20],'TooltipString', 'Listbox')
• h4=uicontrol('style', 'pushbutton', 'Position' ,
[210,20,30,20],'TooltipString', 'pushbutton')
get(gca,'colororder') ans =
110 101 011 100 010 001
• 设置线条和窗口的颜色
set(h1,'color',[1 0 0]) set(h1,'color',[1 0.5 0])
10
9
8
7
6
5
4
3
2
1
0
0
2
4
6
8
10
10
9
8
7
6
5
4
3
2
1
0
0
2
4
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
ButtonDownFcn = Children = [] Clipping = on Interruptible = no Parent = [56.0001] Type = line UserData = [] Visible = on
• 根据轴是线对象的父代,可查轴的句柄
get(gca)
• 可查色序
例:h=line(1:6,1:6)创建线对象的同时也建立了一 个唯一的句柄 变量h是句柄值——符点数
二、图形对象属性的获得与设置
• 句柄属性的设置与修改
get: 获得句柄图形对象的属性和返回某些 对象的句柄值
get (gca,’属性’) 返回当前坐标的单项属性值 set: 改变图形对象的属性
• 专用函数:
界面控制:图形窗口的子代,创建用户界面控 制对象,使得用户可采用鼠标在图形上作功 能选择,并返回句柄。
界面菜单: 图形窗口的子代,创建用户界 面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建块对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
※但句柄绘图中上述图形对象都是用户需要 经常使用的,所以要做到心中有数,用句 柄设置图形对象的属性。
4.句柄(handle)与句柄操作
• 什么是句柄?
句柄是图形对象的标识代码(唯一的身份),标
识代码含有图形对象的各种必要的属性信息。
• 各图形对象的句柄数据格式:
根屏幕
0
图形窗口 正整数,表示图形窗口序号
11
0 .8
0 .6
0.5 0 .4
0 .2
00
-0 .2
-0.5- 0 . 4 -0 .6
-0 .8
-1- 1 0
1
2
3
4
5
6
7
0
1
2
3
4
5
• 首先查询各对象的属性
get(gcf) · · ·
h=get(gcf,'children') h=
60.0004 hh=get(gca,'children') hh =
gcf:当前窗口对象的句柄 Get Current
Figure gca:当前轴对象的句柄 Get Current
Axes get(gca) 返回当前坐标的所有属性值
• 操作格式:
h=gcf 将当前窗口对象的句柄返回h get(h)或get (gcf) 查阅当前窗口对象的
属性 Delete (gcf) 删除当前窗口的属性 例:h=line(x,y)
70.0004 69.0004 68.0004
• 修改属性
y11=get(hh(2),'ydata');
y22=y11/2;
set(hh(2),'ydata',y22)
set(hh(3),'linestyle',':')
11
0 .8
0 .6
0.5 0 .4
0 .2
00
-0 .2
-0.5- 0 . 4 -0 .6
有图形操作都是针对图形对象而言的。
• 句柄图形充分体现了面向对象的程序设计。 • 之前介绍的高层图形指令(如plot)都是以句柄
图形软件为基础写成的。也正是这个原因,句 柄图形也被称为底层(Low-level)图形。
• 句柄图形的功能
句柄图形可以随意改变matlab生成图形
的方式。
句柄图形允许你定制图形的许多特性,
第五讲 matlab句柄绘图和GUI
——matlab语言的句柄绘图可以 对图形各基本对象进行更为细 腻的修饰,可以产生更为复杂 的图形,而且为动态图形的制 作奠定了基础。
高层绘图与底层绘图的区别
• 高层绘图函数——是对整个图形进行操
作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
light灯光对象
• 函数light创建一个灯光源。一个灯光源
含三个因素:颜色、风格、位置。
• 调用:light('color',[1,1,1],'style',local or
infinite,'position',[x,y,z])
• 本地光:X,Y,Z表示光源位置。无穷远光:
X,Y,Z表示无穷远光通过该点射向原点。
• 底层绘图函数——可以定制图形,对图
形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性。
一、什么是句柄图形
• 句柄图形:利用底层绘图函数,通过对对象属
性的设置(Handle Graphics)与操作实现绘图。
• 句柄图形是一种面向对象的绘图系统,其中所
x=-p
线对象 文字对象
块对象
2.创建图形对象的底层函数
• figure⎯⎯创建图形窗口
调用格式: h=figure(n) n为窗口序号
• uicontrol⎯⎯图形界面控制
调用格式: h=uicontrol(‘property’,value) property/value确定控制类型
• 例:使用程序把基本控件安装在图形窗口上
窗口对象
1
0.8
0.6
线
0.4


0.2

0
-0.2 -0.4
-0.6 -0.8
-1
0
1
2
3
4
5
6
轴对象
面对象
10
value of t 1
0.5
cos(x)
0
0
-10 20
轴对象
10 00
-0.5
20
10
-1
-5
0 50 100
像对象 150 200
1 0.5
0 -0.5
-1 100 200 300
• axes ⎯⎯ 创建轴对象
h=axes(‘property’,
left, bottom width,height
)
定义轴对象的位置与大小
例:axes('position',[0.1 0.1 0.5 0.2])
x=0:0.5:10;y=x;plot(x,y) 还有axis命令,定义了轴的位置、宽度和高
图形对象的基本要素以根屏幕为先导
根屏幕
窗口1 窗口2 ……… 窗口n
父对象
界面控制 界面菜单 轴
子对象
线




图形对象之间的关系为父代与子代的关系
说明: 根:图形对象的根,对应于计算机屏幕,根只
有一个,其它所有图形对象都是根的后代。 图形窗口: 根的子代,窗口的数目不限,所有
图形窗口都是根屏幕的子代,除根之外,其 它对象则是窗的后代。
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
10
例:作正弦、余弦曲线,将正弦曲线改为虚 线,将余弦曲线幅度减为1/2高度,如何用 句柄实现。
x=0:2*pi/180:2*pi;
y1=sin(x);y2=cos(x);
plot(x,y1,x,y2,x,zeros(size(x)),':')
相关文档
最新文档