Only close specific figures?

8 次查看(过去 30 天)
Currently I use this code to close all figures.
figHandles=findobj('Type','figure');
figHandles(1)=[];
close(figHandles)
Say I have up to 5 figures for A data, and 5 other figures for B data. If I "reset" A data, I only want to close those figures, and leave the B data figures open. I assume it would be along the lines of instead of just doing plot, I could do A(i)=plot and B(i)=plot, and close close A or B?

采纳的回答

the cyclist
the cyclist 2013-1-25
Are you able to just keep a vector of the figure handles (for A and B separately) as you create them, such that you can close the ones you want? For example,
>> handleA(1) = figure;
>> handleA(2) = figure;
>> % etc
>> handleB(1) = figure;
>> handleB(2) = figure;
>> % etc
Then, to close only A figures, you can do
>> close(handleA)
I guess I'm having trouble understanding your use case.
Also, regarding closing all figures, is there a reason you don't just use
>> close all
  1 个评论
Jared
Jared 2013-1-25
That will do the trick. No need for me to keep a vector in this case as I'll always close all of A or B.
I don't use close all as it will also close the GUI window.

请先登录,再进行评论。

更多回答(1 个)

Thomas
Thomas 2013-1-25
You can assign different handles to the individual figures:
fig1 = figure;
fig2 = figure;
close(fig1)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by