Matlabですべてのオープンフィギュアのハンドルを取得するにはどうすればよいですか
-
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
形状やハンドルを扱うことなく、オプション。
所属していません StackOverflow