非表示にしたfigu​reが複数ある場合に​おいて,編集対象の「​現在のfigure」​を非表示のまま変更し​たい

17 visualizzazioni (ultimi 30 giorni)
Obo Hirotaka
Obo Hirotaka il 9 Ott 2021
Commentato: Obo Hirotaka il 11 Ott 2021
figure('visible','off');
コマンドで作成された複数個の非表示figureがある場合において,非表示のまま”現在のFigure”を変更する方法はありますか?
”現在のFigure”の指定に,figure(n)コマンドを使うとウインドウが表示されてしまうので困っています.
  2 Commenti
Atsushi Ueno
Atsushi Ueno il 9 Ott 2021
function ans = SetTargetFigure_and_Visible_off(fig_handle)
figure(fig_handle);
set(fig_handle,'visible','off');
end
これじゃ駄目ですかね。切り替えたFigureが一瞬だけ表示されます。駄目ですよね。
Obo Hirotaka
Obo Hirotaka il 9 Ott 2021
コメントありがとうございます.そうですね,一瞬でも表示されない手法を探しています.

Accedi per commentare.

Risposta accettata

Akira Agata
Akira Agata il 10 Ott 2021
Modificato: Akira Agata il 10 Ott 2021
figure を作成する際にあらかじめ figure ハンドルを取得しておくことで、gcf を使わなくてもそれぞれの figure を操作可能です。例えば、以下のようにすれば 2 つの figure に対するハンドル hFig1, hFig2 を取得できます。
hFig1 = figure("Visible","off");
plot(magic(4))
hFig2 = figure("Visible","off");
surf(peaks)
このあと最初の figure を操作したい場合、gcf の設定を変えなくても hFig1 を操作すれば問題ありません。
もし何らかの理由で、どうしても gcf が指す figure を変更したい場合、以下のように set 関数を使って変更してください(ただし上記のように、あらかじめ figure ハンドルを取得しておく必要があります)。
% gcf が 1 番目の figure を指すように変更
set(groot,'CurrentFigure',hFig1);
  1 Commento
Obo Hirotaka
Obo Hirotaka il 11 Ott 2021
うまくいきました.ありがとうございます.

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!