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

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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Akira Agata
Akira Agata am 10 Okt. 2021
Bearbeitet: Akira Agata am 10 Okt. 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 Kommentar
Obo Hirotaka
Obo Hirotaka am 11 Okt. 2021
うまくいきました.ありがとうございます.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 対話型コントロールとコールバック finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!