matlab 0x1怎么表达式,matlab 图形句柄(1)

句柄图形是对底层图形函数集合的总称,它实际上进行生成图形的工作。这些函数一般隐

藏于 M 文件内部, 但是它们非常地重要, 因为程序员可以利用它对图象或图片的外观进行控制

MATLAB图形系统是建立图形对象的等级系统之上,每一个图形对象都有一个独立的名

字,这个名字叫做句柄。每一个图形对象都有它的属性,我们可以通过修改它的属性来修改物

体的行为。例如,一条曲线是图形对象的一种。曲线对象有以下的属性:x 数据,y数据,颜色,

线的类型,线宽,符号类型等等。修改其中的一个属性就会改变图象窗口中的一个图象。

由图形命令产生的每一件东西部是图形对象。例如,图形中的每一个曲线,坐标轴和字符

串是独立的对象(拥有独立的名字句柄,还有形式)。所有的图象对象按子对象和父对象的形式

管理,如图 9.1 所示。当一个子对象被创建时,它可能继承了父对象的许多属性

a4c26d1e5885305701be709a3d33442f.png

每一个图形可包括四个对象:Uimenu对象,Uicontrol 对象,坐标系对象和 Uicontextmenus

对象。Uimenu 对象,Uicontrol 对象,和 Uicontextmenus对象是专门地用来创建用户图形界面的

对象。坐标系对象是指在用于显示图象的图片中的区域。在一个图象窗口中,它可能含有一个或多个坐标系

每一个图象对象都有一个独一无二的名字,这个名字叫做句柄。句柄是在 MATLAB

中的

一个独一无二的整数或实数,用于指定对象的身份。用于创建一个图象对象的任意命令都会自

动地返回一个句柄。例如,命令

>>Hnd1 =

figure;创建一个新的图象,并返回这个图象的句柄到变量 Hnd1。根对象句柄一般为

0,图象(图)

对象的句柄一般是一个小的正整数,例如 1,2,3……而其他的图形(graphic)对象为任意的浮点

数。

我们可以利用 MATLAB函数得到图象,坐标系和其他对象的句柄。例如,函数 gcf返回当前图象窗口的句柄,而函数

gca 则返回在当前图象窗口中的当前坐标系对象的句柄,函数

gco返回当前选择对象的句柄。这些函数将会在后面将会被具体讨论。 为了方便,存储句柄的变量名要在小写字母后面个

H。这样就可以与普通变量(所有的小写变量,大写变量,全局变量)区分开来

对象属性是一些特殊值,它可以控制对象行为的某些方面。每一个属性都有一个属性名和属性值。

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,

...);

例:

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]

。。。。。

图对象,axes对象,line对象的句柄。图对象的句柄由函数gcf返回,axes 对象的句柄由函数 gca

返回,line对象由plot函数返回

set(gcf,'Color',[1 0.8

0.8]);

set(gca,'YGrid','on');

set(Hndl,'Color',[1 0.5 0],'LineWidth',3);

a4c26d1e5885305701be709a3d33442f.png

9.4 用 set函数列出可能属性值

函数用于提供所有可能的属性值列表。如果在调用函数 set 时,只包括属性名而不包括相应

的属性值,那么函数 set 就会返回所有的合法属性值。例如,命令set(Hnd1,"LineStyle")将返

回所有可能的线型,大括号中是默认的线型。

>>

set(Hndl,'LineStyle')

[ {-} | -- | : | -. | none ]

这个函数的合法包括和"none",第一个是默认的类型。>>

set(Hndl,'LineWidth')

A line's "LineWidth" property does not have a fixed set of property

values.函数

set(Hnd1)返回一个对象的所有属性的所有可能的属性值。

>> set(Hndl)

ans = Color: {}

EraseMode: {4x1 cell}

LineStyle: {5x1 cell}

LineWidth: {}

Marker: {14x1 cell}

MarkerSize: {}

MarkerEdgeColor: {2x1 cell}

MarkerFaceColor: {2x1 cell}

LineStyle: {5x1 cell}

LineWidth: {}

Marker: {14x1 cell}

MarkerSize: {}

MarkerEdgeColor: {2x1 cell}

MarkerFaceColor: {2x1 cell}

XData: {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值