如何检查轴控制柄是否已清除



我想检查一些轴是否已被清除,并在此基础上执行一些进一步的任务。我使用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)

相关内容

  • 没有找到相关文章