MATLAB使用详解_第14章__图形对象和句柄

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
读者应该很清楚,根对象的句柄为0,而其子对象,图形窗口对象 的句柄一般有两种情况:
整数:默认显B内部精度。
14.2.1 获取当前对象的句柄
MATLAB中,有关句柄图形的一个极为重要的概念是当前 性(Be Current)。例如,当前的窗口即为接受绘制函 数输出的窗口;当前的坐标轴就是创建坐标轴子对象的 命令输出目标坐标轴;而当前的图形对象则为最后创建 的图形对象,或被用户用鼠标点击选中的图形对象。
本章首先简要介绍了MATLAB图形对象的相关概念、体系结构等;MATLAB中 需要通过句柄访问和控制图形对象,因此第14.2节讨论对象句柄的概念及 其访问;第14.3节介绍了MATLAB中对象属性的查询、设置;第14.4-14.5 节分别讨论了两类重要的MATLAB图形对象,即窗口对象和轴对象;第14.6 节介绍了图形输出控制相关的属性设置;第14.7节介绍M文件内句柄的存 储及MATLAB内建函数对句柄的操作,最后第14.8节对本章进行了小结。
14.1.1 图形对象的体系结构
图形对象是MATLAB中用来显示数据和创建GUI的基本绘图元素,对象的每 个实例(instance)都对应唯一的标识符(Identifier),此标识符称为 对象的句柄(handle),句柄由系统设定,用户不能改变。用户可以利用 句柄轻松地操作现有图形的各项特征,即设置对象属性。
删除一个对象,其参数是此对象的句柄。例如,用户可以需要删除当前的 坐标轴,代码如下: delete(gca)
14.3 设置和访问MATLAB对象属性
MATLAB提供了set和get两个函数,分别可以使用户设置和返回现有 图形对象的属性值。利用这两个函数,还可以列出具体固定设置的 属性的所有值。两个函数的基本调用格式如下:
(3)用户界面对象(UI objects)。用户界面对象是 图形窗口对象的一个子对象,其用来创建用户界面的若 干相关图形。
(4)轴对象(Axes)。轴对象和用户界面对象是平行 的兄弟关系。
14.1.3 MATLAB中对象的属性
MATLAB中各级对象的属性控制其各种外观和显 示特性。对象的属性包括公共属性(如对象类 型、父、子对象、是否可见等)和不同类型对 象的特有属性。例如,通过任何给定的图形对 象,用户可以获取窗口中的最后击键、鼠标指 针位置,或是最后选中的菜单句柄。
本节主要讲解如何利用句柄,完成对于对象的复制和删除操作。 (1)调用copyobj函数复制对象。 用户利用MATLAB中的copyobj函数,可以将对象a1从其父对象中复制到另
一个对象中,生成新的对象a2,则a1和a2的区别有2点: 父对象不同; 对象句柄不同。 (2)调用delete函数删除对象。MATLAB中,用户可以使用delete函数,
第14章 图形对象和句柄
本书在第12章向读者详细介绍了MATLAB的数据可视化功能,即如何通过运 用MATLAB的绘图函数和图形绘制窗口绘制用户需要的二维、三维等图形, 相信读者通过学习,已经应该对于“高级”绘图的运用有了一定程度的了 解。正如笔者提到的一样,MATLAB 7.0中的“高级”绘图指令往往不能使 用户对于图形绘制了解得很透彻,如果用户需要通过了解“低层”绘图指 令和图形对象属性开发函数,来对高级绘图指令的形成原理进行深入理解, 并绘制出更加个性化的图形,那么读者应该仔细阅读本章。
用户可以直接把调用绘图函数的返回值存放在一个变量 中,那么这个变量就是相应图形的句柄。
另外一种获取当前对象句柄的常用方法是调用get函数, get函数的调用格式和功能系统地阐述如下。
14.2.2 调用findobj函数通过属性值查询对象
MATLAB提供给用户findobj函数,用于通过对属性值的搜索来查询对象句 柄。findobj函数可以快速形成一个结构层次的截面并获得具有指定属性 值的对象句柄,如果用户没有指定起始对象,那么系统默认findobj函数 从Root对象开始,搜索与用户指定属性名和属性值相符的所有对象。
14.1 图形对象概述
图形对象(Graphics Object)是MATLAB 7.0提供给用 户的一种用于创建计算机图形的面向对象的图形系统, 该系统提供给用户创建线、字、网格、面及图形用户界 面(GUI,有关内容详见本书第17章)的多种3绘图指令。 第12章所介绍的各种“高级”指令都是以图形对象为基 础生成的,所以图形对象也称为低层图形。低层指令的 调用,没有高层指令那样简明清晰、通俗易懂,但是低 层指令可以直接对图形的基本要素进行操作的特点决定 了使用者可以让绘制的图形更加个性化,更加具有表现 力。
MATLAB的图形对象体系结构中包含各种具有继承关系的对象,其关系有 “父子”(从属)关系和“兄弟”(平行)关系两种,具体如图14.1所示。
14.1.2 图形对象的类型
本小节主要是在14.1.1节的基础上向用户详细介绍各种 类型的图形对象。
(1)根对象。
(2)图形窗口对象(Figure)。
用户希望将字符串‘sin(t)=.707’从当前位置点[pi/4,sin(pi/4)]移动 到点[3*pi/4,sin(3*pi/4)],这两个位置点的函数值相同。为了实现移动 操作,用户首先要获得字对象的句柄,然后通过使用这个获得的句柄修改 字对象的属性Position。
14.2.3 使用句柄操作对象
14.2 访问对象句柄
MATLAB中创建的任何对象都由系统赋予一个句柄,所有构造函数的 返回值即为其所创建对象的句柄。
14.1.3节已经向读者介绍了对于对象属性的查询和设置,读者已了 解到,如果需要做到对于对象属性的操作(查询或设置),则必须 在对象创建之初就将其句柄保存在变量中,作为准备;如果用户觉 得这样比较烦琐,或者偶尔忘记了保存,则还可以调用findobj函 数或罗列其父对象的Children属性来获取现有对象的句柄。
相关文档
最新文档