我要检查是否已清除某些轴,根据这些轴还要执行其他任务。我使用cla
来清除某些轴,而不是delete
。例如:
figure
hs1 = subplot(121); plot(rand(100,2), 'x');
hs2 = subplot(122); plot(rand(100,2), 'o');
cla(hs1)
然后,问题是如何确定是否清除hs1
。
答案 0 :(得分:6)
默认情况下,cla
函数将删除所有带有visible handles的子对象。因此,您可以使用child objects函数通过查看是否有任何allchild
来检查是否清除了轴:
isCleared = isempty(allchild(hs1));
请注意以下几点:
默认情况下,cla
函数不会清除带有隐藏手柄的对象。需要选项cla(hs1, 'reset')
才能清除隐藏的句柄。
allchild
函数将查找所有子对象,无论其句柄可见性如何。如果只想检查具有可见句柄的子对象,则可以使用isempty(hs1.Children)
。