Matlabですべてのオープンフィギュアのハンドルを取得するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/4540604

  •  13-10-2019
  •  | 
  •  

質問

Matlab(別の関数によって生成された)に9つのオープンフィギュアがあり、すべてを印刷してファイルしたいと思います。 Matlabのすべてのオープンフィギュアのハンドルをつかむ方法を知っている人はいますか?

私は知っています gcf しかし、それは私がやりたいことをしていないようです。

役に立ちましたか?

解決

これを行う方法はいくつかあります。これを行う1つの方法は、 ルートオブジェクト (ハンドルで以前のバージョンで表されます 0):

figHandles = get(groot, 'Children');  % Since version R2014b
figHandles = get(0, 'Children');      % Earlier versions

または、関数を使用することもできます findobj:

figHandles = findobj('Type', 'figure');

数字のいずれかが持っている場合 隠されたハンドル, 、代わりに関数を使用できます findall:

figHandles = findall(groot, 'Type', 'figure');  % Since version R2014b
figHandles = findall(0, 'Type', 'figure');      % Earlier versions

他のヒント

最善のことの1つは、ハンドルを探す必要がないことです。各図を作成するときは、ハンドルをキャプチャします。

h(1) = figure;
h(2) = figure;
...

ここの開発者の一人が私に言ったように:

あなたはそれらを保持することになっているので、それらはハンドルと呼ばれています

おもう Findall 動作するはずです

handles=findall(0,'type','figure')

ハンドルの質量に対する素晴らしい答えが得られます。しかし、元の質問の別のヒント - ファイルするすべての数字を印刷してください:あなたは使用できます publish 形状やハンドルを扱うことなく、オプション。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top