非表示にしたfigureが複数ある場合において,編集対象の「現在のfigure」を非表示のまま変更したい
14 次查看(过去 30 天)
显示 更早的评论
figure('visible','off');
コマンドで作成された複数個の非表示figureがある場合において,非表示のまま”現在のFigure”を変更する方法はありますか?
”現在のFigure”の指定に,figure(n)コマンドを使うとウインドウが表示されてしまうので困っています.
2 个评论
Atsushi Ueno
2021-10-9
function ans = SetTargetFigure_and_Visible_off(fig_handle)
figure(fig_handle);
set(fig_handle,'visible','off');
end
これじゃ駄目ですかね。切り替えたFigureが一瞬だけ表示されます。駄目ですよね。
采纳的回答
Akira Agata
2021-10-10
编辑:Akira Agata
2021-10-10
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);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 対話型コントロールとコールバック 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!