グラフィックスのオブ​ジェクトのハンドルを​取得するにはどのよう​にすれば良いのですか​。

조회 수: 43 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
편집: MathWorks Support Team 2019년 3월 1일
グラフィックスのオブジェクトのハンドルを取得するにはどのようにすれば良いか、教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2019년 3월 1일
オブジェクトのハンドルを取得するには、下記のような方法があります。
1.カレントオブジェクトのハンドルを取得する
画面上に表示されている各オブジェクトは、マウスでクリックするとカレントオブジェクトとしてMATLABに認識されます。カレントオブジェクトのハンドルを取得するには、下記のコマンドを使います。
h_o = gco; % カレントオブジェクトのハンドルを取得
h_f = gcf; % カレント Figure のハンドルを取得
h_a = gca; % カレント Axes のハンドルを取得
カレントの Figure, Axesオブジェクトのハンドルを取得するには、それぞれ gcf, gca コマンドを使用することができます。
2. オブジェクト作成時に取得する
グラフィックス関数には、出力引数としてその時に作成されるオブジェクトのハンドルを出力するものがあります。このような関数に出力引数を指定して実行すると、オブジェクトハンドルを取得することができます。
h = plot(x,y); % plotコマンドによって描かれた Lineオブジェクトのハンドルを取得
h = mesh(x,y,z); % meshコマンドによって描かれた Surfaceオブジェクトのハンドルを取得
3. findobj コマンドを使う
findobj コマンドは、特定のプロパティ値を持つオブジェクトのハンドルを取得します。
既存の Figure がある状態で、特定のオブジェクトを検出したい場合に使用することが可能です。
以下のコマンドでは、カレントFigure 上にあるLineオブジェクトのハンドルを取得します。
h = findobj(gcf,'Type','Line');
4. 階層構造を利用する
階層構造の上下関係を示すプロパティの値は、その親(または子)オブジェクトのハンドルになります。
例えば、下記のように実行するとLineオブジェクトのハンドルを取得することができます。
plot(x,y)
h=get(gca,'children');

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 グラフィックス オブジェクトの識別에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!