主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

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)は次の3つの条件を満たすオブジェクトをすべて返します。

  • オブジェクトにvalue1に設定されたプロパティprop1がある。

  • オブジェクトに値がvalue2に設定されていないプロパティprop2がある。

  • オブジェクトにプロパティ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 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 = {“- - -”“——”“:”};

赤い実線を返します。次に,ラインの太さを変更します。

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, y₁,“标签”“线性”)举行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 ({“类型”“行”},“——”, {“不是”, {“标签”“线性””或者““标签”“二次”}})
直线数组:直线(正弦)直线(指数)

3つのラインプロットを作成し,そのうち2つのプロットに識別子を割り当てます。

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

空以外の标签プロパティをもつすべてのオブジェクトを検索します。

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

4つの値のベクトルを作成します。ラインプロット,面積プロット,および棒グラフを使用して値を表示します。

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

2つのタブを含む图を作成します。各タブに親コンテナーを指定することで各タブに座標軸を追加します。1番目のタブにライン,2番目のタブに表面をプロットします。

图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

2つのサブプロットを積み上げた图を作成します。

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

图内現在のにあるすべてのオブジェクトと,グラフィックスオブジェクト階層内で2レベル下までの子孫すべてを検索します。

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

“平”オプションを使用して,検索を現在の图および現在の座標軸に制限します。

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

入力引数

すべて折りたたむ

プロパティ名。文字ベクトルまたは字符串スカラーとして指定します。詳細については,グラフィックスオブジェクトのプロパティを参照してください。

例:“标签”

例:“类型”

プロパティ値。スカラーまたは配列として指定します。

論理演算子。“——””或者“,または“异或”として指定します。論理演算子の優先順位は、MATLAB®の優先順位規則に従います。詳細については,演算子の優先順位を参照してください。

演算子の優先順位を制御するには,细胞配列内で道具价值のペアをグループ化します。たとえば,标签プロパティが的按钮一个に設定され,颜色プロパティが“红色”“蓝”以外の値に設定されているすべてのオブジェクトを検索します。

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

正規表現。字符串配列,文字ベクトル,文字ベクトルの细胞配列として指定します。exprには,文字,メタ文字,演算子,トークンと,プロパティ値内で一致するパターンを指定するフラグを含めることができます。exprを使用できるのは,プロパティ値が字符串または文字ベクトルの場合のみです。正規表現についての詳細は,正则表达式を参照してください。

検索対象のオブジェクト。グラフィックスオブジェクトの配列として指定します。“深度”オプションまたは“平”オプションを指定しない限り,findobjは入力配列objhandles内のオブジェクトと,グラフィックスオブジェクト階層内のそのすべての子孫を検索します。

検索深度。入力配列objhandles内の任意のオブジェクトから下のレベル数を示す非負の整数として指定します。

  • d = n- - - - - -objhandles内の各オブジェクトからnレベル下の階層を検索します。

  • d = 0- - - - - -objhandles内のオブジェクトと同じレベルのみを検索します。これは,“平”オプションを指定することと等価です。

  • d =正- - - - - -objhandles内のオブジェクトから下の全レベルを検索します。これは,“深度”オプションまたは“平”オプションを指定しない既定の検索と等価です。

ヒント

  • findobjは,HandleVisibilityプロパティが“关闭”に設定されたグラフィックスオブジェクトを返しません。非表示のオブジェクトを含め,階層内のすべてのオブジェクトを返すには,関数findallを使用します。

  • 関数findobjは,すべての正しいプロパティ値に正確に一致するオブジェクトを検索します。たとえば,このコードは颜色プロパティが红色的r,または(1 0 0)に設定されたすべてのオブジェクトを検索します。

    findobj (“颜色”“r”

  • グラフィックスオブジェクトが,objhandlesで識別される複数のオブジェクトの子孫である場合,関数findobjがそのハンドルを検出するたびにMATLABによってオブジェクトが検索されます。そのため,グラフィックスオブジェクトへの暗黙的な参照では,オブジェクトが複数回返される可能性があります。

R2006aより前に導入