matlab之findobj的用法
findobj
每一个图象对象都有一个独一无二的名字,这个名字叫做句柄。句柄是在 MATLAB 中的一个独一无二的整数或实数,用于指定对象的身份。用于创建一个图象对象的任意命令都会自动地返回一个句柄。例如,命令
Hnd1 = figure;
创建一个新的图象,并返回这个图象的句柄到变量 Hnd1。
函数 gcf返回当前图象窗口的句柄
函数 gca 则返回在当前图象窗口中的当前坐标系对象的句柄
函数 gco返回当前选择对象的句柄
我们可以用随时用 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]
图对象的句柄由函数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);
用 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: {}