主要内容

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,价值ñ)返回将指定属性设置为指定值的层次结构中的所有对象。你可以替换道具、价值与前面语法中的其他输入参数组合配对。例如,h = findobj(prop1,value1,' - not',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))

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

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

删除所有现有数据,然后创建多线绘图。

关闭全部情节(魔法(4))

返回所有行对象。

h = findobj(“类型”“行”
H = 4x1线阵列:线路线线

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

x = linspace(0,7);Y = y =(长度(x),9);为了y(:, I) = sin(x-i/5)';结尾绘图(x,y)colororder({'红色的''绿色'“蓝”}) ax = gca;斧子。LineStyleOrder = {' - '' - '':'};

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

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;

创建一个多线绘图。为每个绘图指定标识符。

x = linspace (1,1);日元= x;绘图(x,y1,“标签”“线性”) 抓住Y2 = x。^ 2;绘图(x,y2,“标签”“二次”) y3 = exp(x);情节(x, y3,“标签”“指数”) y4 = sin(x);情节(x、y4“标签”的正弦) 抓住离开

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

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,“标签”'指数') 抓住离开

查找具有欠换的所有对象标签财产。

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

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

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)

返回所有具有BaseValue财产。

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

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

情节(兰德(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,峰值)

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

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)

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

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

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

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

控件将搜索限制为当前图形和当前轴'平坦的'选择。

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

输入参数

全部收缩

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

例子:“标签”

例子:“类型”

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

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

为了控制运算符的优先级,分组道具价值单元阵列中的对。例如,找到具有a的所有对象标签物业设为的按钮一个A.颜色属性设置为非'红色的'“蓝”

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

正则表达式,指定为字符串数组、字符向量或字符向量的单元格数组。expr.可以包含指定属性值匹配模式的字符,元字符,运算符,令牌和标志。您可以使用expr.只有当属性值是字符串或字符向量时。有关常规表达式的更多信息,请参阅regexp.

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

搜索景深,指定为非负整数,指示输入数组中任何给定对象下方的级别的级别objhandles.

  • d = n- 搜索N每个对象下方的层次结构的级别objhandles.

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

  • D = INF.- 将所有级别搜索在对象下方的所有级别objhandles..这相当于不指定的默认搜索“深度”'平坦的'选项。

提示

  • findobj.不返回具有的图形对象HandleVisibility物业设为“关闭”.要返回层次结构中的所有对象,包括隐藏对象,请使用找到所有功能。

  • findobj.正确匹配任何合法财产价值。例如,这段代码查找所有具有颜色物业设为红色的R.,或[1 0 0]

    findobj(“颜色”'r'

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

在R2006A之前介绍