Closing specific figure handles
2 次查看(过去 30 天)
显示 更早的评论
I asked a similar question before, but haven't been able to get the behavior I am looking for.
Example. I can have up to 4 plots p(1)=figure, p(2), p(3), p(4)... I can also have up to 4 histograms h(1)=figure, h(2), h(3), h(4)...
Using a for loop to determine the user desired output, figures are created, then the plot or histogram is "put in" each figure.
Due to the nature of how I am creating the figures, I am not sure which ones are open, so I can't just do:
close(p(1)); close(p(2)); close(p(3)); close(p(4));
Same for h(i). Is there a way to close all of p, or h, with a single command, no matter if one or all of them are open?
0 个评论
采纳的回答
Matt Tearle
2013-2-1
编辑:Matt Tearle
2013-2-1
Why not just do close(h)?
If there's a possibility that h never gets created at all (no histograms), you can use exist to check before doing the close
if exist('h','var')
close(h)
end
EDIT Rereading the question, perhaps the problem is that h(2) may exist as a variable, but not refer to a valid figure? In that case,
close(h(ishandle(h)))
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!