查找现有的对象句柄

优质
小牛编辑
134浏览
2023-12-01

用命令findobj可以通过搜索带特定属性值的对象得到图形对象的句柄。用findobj,可以指定任何属性组合的值,这样要从多个对象选出一个就变的容易。例如,可能需要找出带有正方标记蓝色外观的蓝线。

也可以指定搜索哪个图形或轴。以下各节提供示例阐述如何用findobj命令。

查找所有某类型的对象

由于所有对象都具有一个用来辨别类型的类型属性,你可以查找所有某特定类型对象事件的句柄。例如,

    h = findobj('Type','line');
    

查找所有线对象的句柄。

查找某特定属性的对象

可以指定多个属性以缩窄搜索范围,例如,

    h = findobj('Type','line','Color','r','LineStyle',':');
    

查找所有红色点线的句柄。

限制搜索范围

可以在通过把开始的图形或轴的句柄作为第一变元给对象等级指定开始点,例如,

    h = findobj(gca,'Type','text','String','\pi/2');
    

只在当前轴下查找字符串/2 。

把findobj用作变元

由于findobj返回所找到的句柄,你可以用它来替换句柄变元,例如,

    set(findobj('Type','line','Color','red'),'LineStyle',':')
    

找出所有红线及设定线型为点线。