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

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

Iniciar sesión para comentar.

Respuesta aceptada

Akira Agata
Akira Agata el 10 de Oct. de 2021
Editada: Akira Agata el 10 de Oct. de 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 comentario
Obo Hirotaka
Obo Hirotaka el 11 de Oct. de 2021
うまくいきました.ありがとうございます.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 対話型コントロールとコールバック en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!