how to clear axis in for loop?
3 次查看(过去 30 天)
显示 更早的评论
Hi,I have an output Panel where the images are shown .At a time 25 images can be shown.But sometimes the axes are partially filled by images and I want to delete the empty axes.Suppose 3 images are present and rest of axis are empty the code is shown below for it. This is my code:-
> m=1;%for first axes
for i=4:25
cla(handles.(['axes',num2str(m+1)]));
m=m+1;
end
whats wrong here clearing only one axes? end
回答(2 个)
Thomas Koelen
2015-5-12
Why would you use m instead of just using the i you already specified in your for loop?
For further work don't use i or j as variables because i and j are both functions denoting the imaginary unit:
So a variable called i or j will override them, potentially silently breaking code that does complex maths.
for your problem, you forgot a strcat, try again with
strcat('axes',num2str(i))
2 个评论
Thomas Koelen
2015-5-12
编辑:Thomas Koelen
2015-5-12
Never knew, I'm still new to matlab and didn't know you could do it like this :) Also had no computer to check it at the moment.
Walter Roberson
2015-5-13
If your axis might contain some items with invisible handles and you want to get rid of the items, then you need to pass the 'reset' option to cla()
cla(handles.(['axes',num2str(m+1)]), 'reset');
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Orange 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!