默认情况下,
我想检查一些轴是否已被清除,并在此基础上执行一些进一步的任务。我使用cla
来清除某些轴,而不是delete
。例如:
figure
hs1 = subplot(121); plot(rand(100,2), 'x');
hs2 = subplot(122); plot(rand(100,2), 'o');
cla(hs1)
那么,问题是如何确定hs1
是否被清除。
cla
函数会删除所有具有可见句柄的子对象。因此,您可以使用allchild
功能检查轴是否已被清除:
isCleared = isempty(allchild(hs1));
需要记住的几个注意事项:
默认情况下,
cla
函数不会清除带有隐藏句柄的对象。需要选项cla(hs1, 'reset')
来清除隐藏的句柄。allchild
函数将查找所有子对象,而不管它们的句柄可见性如何。如果只想检查具有可见句柄的子对象,可以使用isempty(hs1.Children)
。