主要内容

findobj

查找具有特定属性的图形对象

描述

实例

h = findobj返回图形根对象及其所有子对象。

实例

h=findobj(道具,价值)返回层次结构中具有属性的所有对象道具着手价值

实例

h=findobj('-not',道具,价值)返回其指定属性未设置为指定值的所有对象。

实例

h=findobj(道具1,价值1,,道具2,价值2)应用逻辑运算符道具、价值对。例如,h = findobj(“线型”、“——”、“——”,“标记”,“o”)返回具有虚线样式和圆形标记的所有对象。

实例

h = findobj(“正则表达式”,道具,expr)使用正则表达式查找具有特定属性值的对象。返回属性值满足正则表达式的对象。

实例

h=findobj('-property',道具)返回具有指定属性的所有对象。

实例

h=findobj(道具1,价值1、……道具N,价值N)返回层次结构中指定属性设置为指定值的所有对象。您可以替换道具、价值与前面语法中的其他输入参数组合配对。例如,h=findobj(prop1,value1,'-not',prop2,value2,'-property',prop3)返回所有满足以下三个条件的对象:

  • 对象有一个属性建议1着手value1

  • 对象有一个属性建议2其值未设置为value2

  • 对象有一个属性建议3

实例

h=findobj(小圆柄,___)将搜索限制为中列出的对象小圆柄以及他们所有的后代。您可以限制搜索任何以前的语法。

实例

h=findobj(小圆柄“深度”,D,___)将搜索限制为中列出的对象小圆柄以及他们的后代D在图形对象层次结构中较低的级别。

实例

h=findobj(小圆柄“平”,___)中列出的对象限制搜索小圆柄.不搜索后代对象。使用“平坦”选项与使用“深度”选项d = 0

例子

全部崩溃

删除所有现有的图形,然后创建一个随机值的图形。

所有情节(兰德(5))

图中包含一个Axis对象。Axis对象包含5个line类型的对象。

返回图形根对象及其所有子对象。

h = findobj
h = 8x1图形数组:根图(1)轴线线线线线线

删除所有现有地物,然后创建多行打印。

所有情节(魔法(4))

图中包含一个Axis对象。Axis对象包含4个line类型的对象。

返回所有直线对象。

h=findobj(“类型”,“行”)
h=4x1线阵:线阵

用自定义颜色和线条样式绘制9个正弦波。

x=linspace(0,7);y=one(长度(x),9);对于i=1:9y(:,i)=sin(x-i/5)';终止情节(x, y) colororder ({“红色”,“绿色”,“蓝”})ax=gca;ax.LineStyleOrder={'-','--',“:”};

图中包含一个Axis对象。Axis对象包含9个line类型的对象。

返回红色实线。然后,更改线的厚度。

h=findobj(“颜色”,“红色”,“线条样式”,'-')
h=带属性的线:颜色:[1 0 0]线型:'-'线宽:0.5000标记:“无”标记化:6标记面颜色:“无”扩展数据:[0.0707 0.1414 0.2121 0.2828 0.3535 0.4242 0.4949…]YData:[-0.1987-0.1289-0.0586 0.0121 0.0827 0.1529…]ZData:[1x0双精度]显示所有属性
h、 线宽=2;

图中包含一个Axis对象。Axis对象包含9个line类型的对象。

创建多行打印。为每个打印指定一个标识符。

x=linspace(-1,1);y1=x;绘图(x,y1,“标签”,“线性”)举行y2=x.^2;绘图(x,y2,“标签”,“二次”) y3 = exp(x);情节(x, y3,“标签”,“指数”) y4 = sin(x);情节(x、y4“标签”,的正弦)举行

图中包含一个Axis对象。Axis对象包含4个line类型的对象。

找到所有的对象标签属性未设置为“线性”

h1=findobj(“-不是”,“标签”,“线性”)
h1=6x1图形数组:根图形(1)轴线(正弦曲线)直线(指数曲线)直线(二次曲线)

找到所有的对象标签属性未设置为“线性”“二次”

h2=findobj(“-不是”, {“标签”,“线性”,”或者“,“标签”,“二次”})
h2=5x1图形阵列:根图形(1)轴线(正弦)线(指数)

找到所有的直线对象标签属性未设置为“线性”“二次”

h3=findobj(“类型”,“行”,“-不是”, {“标签”,“线性”,”或者“,“标签”,“二次”})
直线阵列:直线(正弦)直线(指数)

使用。提高前面语句的可读性“——”和花括号。

h4 = findobj ({“类型”,“行”},“——”, {“-不是”, {“标签”,“线性”,”或者“,“标签”,“二次”}})
直线数组:直线(正弦)直线(指数)

创建三条直线图,并为其中两条曲线图指定一个标识符。

x = linspace (1,1);日元= x;情节(x, y₁)y2=x.^2;绘图(x,y2,“标签”,“二次”) y3 = exp(x);情节(x, y3,“标签”,“指数型”)举行

图中包含一个轴对象。轴对象包含3个类型为line的对象。

查找具有非空属性的所有对象标签所有物

h=findobj(“-regexp”,“标签”,”[^]“)
直线数组:直线(指数)直线(二次)

创建一个有四个值的向量。使用线图、面积图和条形图显示值。

y=[1 5 6 3];子地块(3,1,1)绘图(y)子地块(3,1,2)面积(y)子地块(3,1,3)条形图(y)

图中包含3个轴对象。轴对象1包含类型为line的对象。轴对象2包含类型为area的对象。轴对象3包含类型为bar的对象。

返回所有具有基本值所有物

h=findobj(“属性”,“BaseValue”)
h = 2x1图形数组:条形区域

创建随机值的绘图,然后返回当前轴中的所有线对象。

情节(兰德(5))

图中包含一个Axis对象。Axis对象包含5个line类型的对象。

h = findobj (gca),“类型”,“行”)
h = 5x1 Line array: Line Line Line Line . h = 5x1 Line array: Line Line Line

使用H查询Y第一种价值观线对象。

值= h(1)。YData
值=1×50.6557 0.0357 0.8491 0.9340 0.6787

创建一个带有两个选项卡的图形。通过为每个选项卡指定父容器,向每个选项卡添加轴。在第一个选项卡中绘制直线,在第二个选项卡中绘制曲面。

图tab1=uitab(“头衔”,“表1”);ax₁=轴(tab1);Plot (ax1,1:10) tab2 = uitab(“头衔”,“表2”);ax2 =轴(tab2);冲浪(ax2山峰)

图中包含2个轴对象和另一个UITABGOUP类型的对象。轴对象1包含一个surface类型的对象。轴对象2包含一个line类型的对象。

返回当前图形及其后代中的所有对象。

h = findobj (gcf)
h=8x1图形阵列:图(1)选项卡组选项卡(Tab1)选项卡(Tab2)轴线表面

创建一个图形与两个堆叠的副图。

子地块(2,1,1)x=linspace(0,10);y1=sin(x);地块(x,y1)子地块(2,1,2)y2=sin(5*x);绘图(x,y2)

图中包含2个轴对象。axis对象1包含一个类型为line的对象。axis对象2包含一个类型为line的对象。

找到当前图形及其子图形中的所有对象。

h1 = findobj (gcf,“深度”, 1)
h1=3x1图形阵列:图(1)轴

查找当前图形中的所有对象以及图形对象层次结构中低于两层的任何后代。

h2 = findobj (gcf,“深度”, 2)
h2=5x1图形阵列:图(1)轴线

使用将搜索限制为当前地物和当前轴“平坦”选项

甘氨胆酸(gcf h3 = findobj (,),“平坦”)
h3=2x1图形阵列:图(1)轴

输入参数

全部崩溃

属性名,指定为字符向量或字符串标量。有关详细信息,请参阅图形对象属性

例子:“标签”

例子:“类型”

属性值,指定为标量或数组。

逻辑运算符,指定为“——”,”或者“,或“-xor”.逻辑运算符优先遵循MATLAB®优先规则。有关详细信息,请参阅运算符优先级

要控制运算符优先级,请分组道具,价值单元格数组中的对。例如,查找具有标签属性设置为“按钮一”和一个颜色属性设置为非“红色”“蓝”:

h=findobj(“标签”,“按钮一”,“——”,...“-不是”, {“颜色”,“红色”,”或者“,“颜色”,“蓝”})

正则表达式,指定为字符串数组、字符向量或字符向量的单元格数组。expr可以包含指定要在属性值中匹配的模式的字符、元字符、运算符、标记和标志。你可以用expr仅当属性值为字符串或字符向量时。有关正则表达式的详细信息,请参阅正则表达式

要从中搜索的对象,指定为图形对象数组。除非指定“深度”“平坦”选项,findobj搜索输入数组中的对象小圆柄以及它们在图形对象层次结构中的所有后代。

搜索深度,指定为非负整数,表示输入数组中任何给定对象下方的级别数小圆柄

  • d = n-搜寻N中每个对象下方的层次级别小圆柄

  • d = 0-仅搜索与中的对象相同的级别小圆柄。这相当于指定“平坦”选项

  • d=inf—搜索中对象下面的所有级别小圆柄.这相当于不指定的默认搜索“深度”“平坦”选项。

提示

  • findobj不返回具有HandleVisibility属性设置为“关闭”.要返回层次结构中的所有对象,包括隐藏对象,请使用芬德尔作用

  • findobj正确匹配任何合法属性值。例如,此代码查找具有颜色属性设置为红色,R,或[1 0 0]:

    芬多布吉(“颜色”,“r”)

  • 当图形对象是中标识的多个对象的后代时小圆柄, MATLAB每次搜索对象findobj遇到它的句柄。因此,对图形对象的隐式引用可能导致该对象的多次返回。

之前介绍过的R2006a