主要内容

findobj

找到图形对象与特定的属性

描述

例子

h = findobj返回图形根对象和它的所有后代。

例子

h = findobj (道具,价值)返回所有层级的对象,他们的财产道具设置为价值

例子

h = findobj (“——”,道具,价值)返回所有的对象指定的属性没有设置为指定的值。

例子

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

例子

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

例子

h = findobj(“财产”,道具)返回所有指定的属性的对象。

例子

h = findobj (道具1,价值1、……道具N,价值N)返回指定的层次结构中的所有对象属性设置为指定的值。你可以换道具、价值对从以前的语法与其他输入参数组合。例如,h = findobj (prop1 value1,‘不是’,prop2, value2,“财产”,prop3)返回所有满足这三个条件的对象:

  • 有一个属性的对象prop1设置为value1

  • 有一个属性的对象prop2其价值没有设置value2

  • 有一个属性的对象prop3

例子

h = findobj (objhandles,___)限制搜索中列出的对象objhandles他们的后代。你可以限制搜索的任何以前的语法。

例子

h = findobj (objhandles“深度”,d,___)限制搜索中列出的对象objhandles和他们的后代d水平低的图形对象的层次结构。

例子

h = findobj (objhandles“平”,___)限制搜索仅在列出的对象objhandles。后代对象不是搜索。使用“平”选项是一样的使用“深度”选项d = 0

例子

全部折叠

删除所有现有数据,然后创建一个阴谋的随机值。

关闭所有情节(兰德(5))

图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。

返回图形根对象和它的所有后代。

h = findobj
h = 8 x1图形阵列:根图(1)轴线行线

删除所有现有数据,然后创建一个多行阴谋。

关闭所有情节(魔法(4))

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。

返回所有行对象。

h = findobj (“类型”,“行”)
h = 4 x1数组行:行了行了行了行了

图9正弦波与自定义颜色和风格。

x = linspace (0、7);y = 1(长度(x), 9);我= 1:9 y (:, i) =罪(在x / 5) ';结束情节(x, y) colororder ({“红色”,“绿色”,“蓝”甘氨胆酸ax =});斧子。LineStyleOrder = {“- - -”,“——”,“:”};

图包含一个坐标轴对象。坐标轴对象包含9线类型的对象。

返回坚实的红线。然后,改变线的厚度。

h = findobj (“颜色”,“红色”,“线型”,“- - -”)
h =与属性:颜色:[1 0 0]线型:”——“线宽:0.5000标记:“没有一个”MarkerSize: 6 MarkerFaceColor:‘没有’XData: [0 0.0707 0.1414 0.2121 0.2828 0.3535 0.4242 0.4949 0.5657 0.6364 0.7071 0.7778 0.8485 0.9192 0.9899 1.0606 1.1313 1.2020 1.2727 1.3434 1.4141 1.4848 1.5556 1.6263 1.6970 1.7677 1.8384 1.9091 1.9798 2.0505 2.1212 2.1919 2.2626……]YData: [-0.1987 -0.1289 -0.0586 0.0121 0.0827 0.1529 0.2224 0.2907 0.3576 0.4226 0.4856 0.5462 0.6040 0.6588 0.7103 0.7582 0.8024 0.8426 0.8785 0.9101 0.9371 0.9594 0.9769 0.9896 0.9973 1.0000 0.9977 0.9905 0.9782 0.9611 0.9392 0.9126……)显示所有属性
h。线宽= 2;

图包含一个坐标轴对象。坐标轴对象包含9线类型的对象。

创建一个多行阴谋。指定每个情节的一个标识符。

x = linspace (1,1);日元= x;情节(x, y₁,“标签”,“线性”)举行y2 = x ^ 2;情节(x, y2,“标签”,“二次”)y3 = exp (x);情节(x, y3,“标签”,“指数”)y4 = sin (x);情节(x、y4“标签”,的正弦)举行

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。

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

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

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

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

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

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

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

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

创建三个线情节,并将一个标识符分配给两个地块。

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

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。

发现有一个非空的所有对象标签财产。

h = findobj (“正则表达式”,“标签”,”[^]“)
h = 2 x1数组行:线(指数)(二次)

创建一个向量的四值。使用一行显示的值阴谋,阴谋,和一个条形图。

y = [1 5 6 3];次要情节(1,1)情节(y)次要情节(3,1,2)地区(y)次要情节(3、1,3)酒吧(y)

图包含3轴对象。坐标轴对象1包含一个类型的对象。轴2包含一个对象类型的区域。坐标轴对象3包含一个对象类型的酒吧。

返回的所有对象BaseValue财产。

h = findobj (“属性”,“BaseValue”)
h = 2 x1图形阵列:酒吧区

创建一个随机值,然后返回所有行对象在当前轴。

情节(兰德(5))

图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。

h = findobj (gca),“类型”,“行”)
h = 5 x1数组行:行了行了行了行了

使用h查询y的第一个值对象。

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

创建一个图有两个选项卡。每个选项卡添加轴通过指定为每一个父容器。绘制一条线在第一个选项卡和一个表面在第二个选项卡。

图tab1 = uitab (“标题”,“Tab1”);ax₁=轴(tab1);情节(ax₁, 1:10) tab2 = uitab (“标题”,“Tab2”);ax2 =轴(tab2);冲浪(ax2山峰)

图包含2轴uitabgroup类型的对象和另一个对象。坐标轴对象1包含一个类型的对象的表面。坐标轴对象2包含一个类型的对象。

返回所有对象在当前图及其后代。

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

创建一个图有两个次要情节。

次要情节(2,1,1)x = linspace (0, 10);日元= sin (x);情节(x, y₁)次要情节(2,1,2)y2 =罪(5 * x);情节(x, y2)

图包含2轴对象。坐标轴对象1包含一个类型的对象。坐标轴对象2包含一个类型的对象。

找到所有对象在当前图和它的孩子们。

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

找到所有对象在当前图和任何后代中两水平低的图形对象的层次结构。

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

将搜索限制在当前图和当前使用的轴“平”选择。

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

输入参数

全部折叠

属性名称,指定为一个特征向量或字符串标量。有关更多信息,请参见图形对象属性

例子:“标签”

例子:“类型”

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

逻辑操作符指定为“——”,”或者“,或“异或”。逻辑运算符优先级是MATLAB®优先级规则。有关更多信息,请参见运算符优先级

运算符优先级控制,组织道具,价值对细胞内数组。例如,找到所有的对象都有标签属性设置为的按钮一个和一个颜色除了属性设置为一个值“红色”“蓝”:

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

正则表达式,指定为一个字符串数组,特征向量,或单元阵列特征向量。expr可以包含字符,元字符,运营商、标记和标志,指定模式相匹配的属性值。您可以使用expr只有当属性值是一个字符串或字符向量。有关正则表达式的更多信息,请参阅正则表达式

搜索对象,指定为一个图形对象数组。除非你指定“深度”“平”选项,findobj搜索输入的对象数组objhandles和他们的后代的图形对象的层次结构。

深度搜索,指定为一个非负整数表示的数量水平低于输入数组中的任何对象objhandles

  • d = n——搜索n每个对象层次结构的水平以下objhandles

  • d = 0——只搜索相同级别的对象objhandles。这相当于指定“平”选择。

  • d =正——搜索所有水平低于对象objhandles。这相当于一个没有指定的默认搜索“深度”“平”选项。

提示

  • 如果HandleVisibility设置对象的属性“关闭”,findobj不返回图形对象或它的任何后代。返回层次结构中的所有对象,包括隐藏对象、使用findall函数。

  • findobj正确地匹配任何法律属性值。例如,这个代码发现所有对象颜色属性设置为红色的,r,或(1 0 0):

    findobj (“颜色”,“r”)

  • 当一个图形对象的后代超过一个对象中确定objhandles每次,MATLAB搜索对象findobj遇到它的句柄。因此,隐式引用一个图形对象可以导致多个返回的对象。

版本历史

之前介绍过的R2006a