主要内容

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 = 8x1图形数组:根图(1)轴线线线线线线

删除所有现有的图形,然后创建一个多线图。

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

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

返回所有行对象。

h = findobj (“类型”“行”
h = 4x1 Line array: Line Line Line . h = 4x1 Line array: Line Line Line

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

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

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

返回实红色线。然后,改变线条的粗细。

h = findobj (“颜色”“红色”“线型”“- - -”
h = Line with properties: Color: [1 00] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 MarkerFaceColor: 'none' XData: [1x100 double] YData: [1x100 double] ZData: [1x0 double]显示所有属性
h.LineWidth = 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 = 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个线型对象。

找到所有非空的对象标签财产。

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

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

Y = [1 5 6 3];Subplot (3,1,1) plot(y) Subplot (3,1,2) area(y) Subplot (3,1,3) bar(y) Subplot (3,1,3) bar(y)

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

返回所有具有BaseValue财产。

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

创建一个随机值的图形,然后返回当前坐标轴上的所有线对象。

情节(兰德(5))

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

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(“标题”“Tab1”);ax₁=轴(tab1);Plot (ax1,1:10) tab2 = uitab(“标题”“Tab2”);ax2 =轴(tab2);冲浪(ax2山峰)

图中包含2个轴和另一个uitabgroup类型的对象。axis 1包含一个类型为surface的对象。Axes 2包含一个类型为line的对象。

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

h = findobj (gcf)
h = 8x1图形阵列:图(1)TabGroup Tab (Tab1) Tab (Tab2

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

Subplot (2,1,1) x = linspace(0,10);日元= sin (x);Plot (x,y1) subplot(2,1,2) y2 = sin5 *x;情节(x, y2)

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

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

h1 = findobj (gcf,“深度”, 1)
h1 = 3x1图形数组:图(1

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

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

控件将搜索限制为当前图形和当前轴“平”选择。

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

输入参数

全部折叠

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

例子:“标签”

例子:“类型”

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

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

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

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

正则表达式,指定为字符串数组、字符向量或字符向量的单元格数组。expr可以包含指定要在属性值中匹配的模式的字符、元字符、操作符、标记和标志。您可以使用expr仅当属性值为字符串或字符向量时。有关正则表达式的更多信息,请参见正则表达式

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

搜索深度,指定为非负整数,表示输入数组中低于任何给定对象的层数objhandles

  • d = n——搜索n中的每个对象下面的层次结构的级别objhandles

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

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

提示

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

  • findobj正确匹配任何合法财产价值。例如,这段代码查找所有具有颜色属性设置为红色的r,或(1 0 0)

    findobj (“颜色”“r”

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

之前介绍过的R2006a