没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB编程快速入门 MATLAB编程基础入门教程 第9章 句柄图形 共25页.pdf
0 下载量 83 浏览量
2022-12-17
22:51:04
上传
评论
收藏 615KB PDF 举报
温馨提示
试读
25页
MATLAB编程快速入门 MATLAB编程基础入门教程 第9章 句柄图形 共25页.pdf
资源推荐
资源详情
资源评论
第九章 句柄图形....................................................................................................................................3
9.1 MATLAB 图形系统 ..................................................................................................................3
9.2 对象句柄...................................................................................................................................4
9.3 对象属性的检测和更...............................................................................................................4
9.3.1 在创建对象时改变对象的属性.....................................................................................4
9.3.2 对象创建后改变对象的属性........................................................................................5
例 9.1........................................................................................................................................9
9.4 用 set 函数列出可能属性值 ..................................................................................................12
9.5 自定义数据.............................................................................................................................13
9.6 对象查找.................................................................................................................................14
9.7 用鼠标选择对象.....................................................................................................................15
例 9.2......................................................................................................................................16
9.8 位置和单位.............................................................................................................................18
9.8.1 图象(figure)对象的位置..............................................................................................18
9.8.2 坐标系对象和 uicontrol 对象的位置 .........................................................................18
9.8.3 文本(text)对象的位置 .................................................................................................19
例 9.3......................................................................................................................................19
9.9 打印位置.................................................................................................................................21
9.10 默认和 factory 属性..............................................................................................................22
9.11 图形对象属性.......................................................................................................................23
9.12 总结.......................................................................................................................................23
9.13 练习.......................................................................................................................................24
1..............................................................................................................................................24
2..............................................................................................................................................24
3..............................................................................................................................................24
4..............................................................................................................................................24
5..............................................................................................................................................24
6..............................................................................................................................................25
第九章 句柄图形
句柄图形是对底层图形函数集合的总称,它实际上进行生成图形的工作。这些函数一般隐
藏于 M 文件内部,但是它们非常地重要,因为程序员可以利用它对图象或图片的外观进行控制。
例如,我们可以利用句柄图形只对 x 轴产生网格线,或选择曲线的颜色为桔黄色,桔黄色 plot
命令中的标准 LineSpec 参数。还有,句柄图形可以帮助程序员为他们的程序创建用户图形界面,
用户图形界面,我们将在下一章介绍。
在本章中,我们向大家介绍 MATLAB 图形系统的结构,以及如何控制图形对象的属性。
9.1 MATLAB 图形系统
MATLAB 图形系统是建立图形对象的等级系统之上,每一个图形对象都有一个独立的名字,
这个名字叫做句柄。每一个图形对象都有它的属性,我们可以通过修改它的属性来修改物体的
行为。例如,一条曲线是图形对象的一种。曲线对象有以下的属性:x 数据,y 数据,颜色,线
的类型,线宽,符号类型等等。修改其中的一个属性就会改变图象窗口中的一个图象。
由图形命令产生的每一件东西部是图形对象。例如,图形中的每一个曲线,坐标轴和字符
串是独立的对象(拥有独立的名字句柄,还有形式)。所有的图象对象按子对象和父对象的形式
管理,如图 9.1 所示。当一个子对象被创建时,它可能继承了父对象的许多属性。
图 9.1 对象的层次结构
在 MATLAB 中最高层次的图形对象被根对象,我们可以通过它对整个计算机屏幕进行控
制。当 MATLAB 启动时,根对象会被自动创建,它一直存在到 MATLAB 关闭。与根对象相
关的属性是应用于所用 MATLAB 窗口的默认属性。
在根对象下,有多个图象窗口,或只有图象。每一个图象在用于显示图象数据的计算机屏
根对象
(计算机屏幕)
图形框架窗口对象
图形框架窗口对象
Uimenu 对象
Uicontrol 对象
坐标系对象
坐标系对象
影像对象
线条对象
贴片对象
文本对象
曲面对象
父对象
子对象
兄弟对象
幕上都有一个独立的窗口,每一个图象都有它独立的属性。与图象相关的属性有,颜色,图片
底色,纸张大小,纸张排列方向,指针类型等。
每一个图形可包括四个对象:Uimenu 对象,Uicontrol 对象,坐标系对象和 Uicontextmenus
对象。Uimenu 对象,Uicontrol 对象,和 Uicontextmenus 对象是专门地用来创建用户图形界面的
对象,它们将在下一章讨论。坐标系对象是指在用于显示图象的图片中的区域。在一个图象窗
口中,它可能含有一个或多个坐标系。
每一个坐标系对象可能包括曲线对象,文本对象,贴片对象,还有其他的你所需的图形对
象。
9.2 对象句柄
每一个图象对象都有一个独一无二的名字,这个名字叫做句柄。句柄是在 MATLAB 中的
一个独一无二的整数或实数,用于指定对象的身份。用于创建一个图象对象的任意命令都会自
动地返回一个句柄。例如,命令
>>Hnd1 = figure;
创建一个新的图象,并返回这个图象的句柄到变量 Hnd1。根对象句柄一般为 0,图象(图)
对象的句柄一般是一个小的正整数,例如 1,2,3……而其他的图形(graphic)对象为任意的浮点
数。
我们可以利用 MATLAB 函数得到图象,坐标系和其他对象的句柄。例如,函数 gcf 返回
当前
图象窗口的句柄,而函数 gca 则返回在当前图象窗口中的当前坐标系对象的句柄,函数 gco
返回当前选择对象的句柄。这些函数将会在后面将会被具体讨论。
为了方便,存储句柄的变量名要在小写字母后面个 H。这样就可以与普通变量(所有的小写
变量,大写变量,全局变量)区分开来。
9.3 对象属性的检测和更
对象属性是一些特殊值,它可以控制对象行为的某些方面。每一个属性都有一个属性名和
属性值。属性名是用大小写混合格式写成的字符串,属性名中的每一个单词的第一个字母为大
写,但是 MATLAB 中的变量名的大小不与区分。
9.3.1 在创建对象时改变对象的属性
当一个对象被创建时,所有的属性都会自动初始化为默认值。包含有"propertyname(属性名)"
的创建函数创建对象时,默认值会被跳过,而跳过的值在创建函数中有。例如,我们在第二章
看到,线宽属性可以通过下面的 plot 命令改变。
plot(x, y, 'LineWidth', 2);
录一个曲线被创建时,函数用值 2 来替代它的默认值。
9.3.2 对象创建后改变对象的属性
我们可以用随时用 get 函数检测任意一个对象的属性,并用 set 函数对它进行修改。get 函
数最常见的形式如下
value = get(handle, 'PropertyName');
value = get(handle);
value 是勤句柄指定对象的属性值。如果在调用函数时,只有一个句柄,那么函数将会返
回一个结构,域名为这个对象的属性名,域值为属性值。
set 函数的最常用形式为
set(handle,'PropertyName1', value1, ...);
在一个单个的函数中可能有多个"propertyname"和"value"。
例如,假设我们用下面的语句,画出函数 y(x)= x
2
在(0,2)中的图象
x = 0:0.1:2;
y = x .^2;
Hnd1 = plot(x, y);
图象如图 9.2a 所示。这个曲线的句柄被存储在变量 Hnd1 内,我们可以利用它检测和修改
这条曲线的属性。函数 get(Hnd1)在一个结构中返回这条曲线所有的属性,每一个属性名都为结
构的一个元素。
>> result=get(Hnd1)
result =
Color: [0 0 1]
EraseMode: 'normal'
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
MarkerEdgeColor: 'auto'
MarkerFaceColor: 'none'
XData: [1x21 double]
YData: [1x21 double]
ZData: [1x0 double]
BeingDeleted: 'off'
ButtonDownFcn: []
Children: [0x1 double]
Clipping: 'on'
CreateFcn: []
DeleteFcn: []
BusyAction: 'queue'
HandleVisibility: 'on'
HitTest: 'on'
Interruptible: 'on'
Selected: 'off'
SelectionHighlight: 'on'
Tag: ''
Type: 'line'
UIContextMenu: []
UserData: []
Visible: 'on'
剩余24页未读,继续阅读
资源评论
passionSnail
- 粉丝: 403
- 资源: 5624
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功