如何检查轴句柄是否已清除
How to check if an axes handle is cleared or not
我想检查一些轴是否已经被清除,在此基础上执行一些进一步的任务。我使用 cla
来清除一些轴,而不是 delete
。例如:
figure
hs1 = subplot(121); plot(rand(100,2), 'x');
hs2 = subplot(122); plot(rand(100,2), 'o');
cla(hs1)
那么,问题就是如何判断hs1
是否被清除了。
cla
function removes all child objects with visible handles by default. You can therefore check if an axes has been cleared by seeing if it has any child objects using the allchild
函数:
isCleared = isempty(allchild(hs1));
要记住的几点注意事项:
cla
函数默认不会清除隐藏句柄的对象。清除隐藏句柄需要选项 cla(hs1, 'reset')
。
allchild
函数将查找所有子对象,无论它们的句柄是否可见。如果您只想检查具有可见句柄的子对象,您可以使用 isempty(hs1.Children)
.
我想检查一些轴是否已经被清除,在此基础上执行一些进一步的任务。我使用 cla
来清除一些轴,而不是 delete
。例如:
figure
hs1 = subplot(121); plot(rand(100,2), 'x');
hs2 = subplot(122); plot(rand(100,2), 'o');
cla(hs1)
那么,问题就是如何判断hs1
是否被清除了。
cla
function removes all child objects with visible handles by default. You can therefore check if an axes has been cleared by seeing if it has any child objects using the allchild
函数:
isCleared = isempty(allchild(hs1));
要记住的几点注意事项:
cla
函数默认不会清除隐藏句柄的对象。清除隐藏句柄需要选项cla(hs1, 'reset')
。allchild
函数将查找所有子对象,无论它们的句柄是否可见。如果您只想检查具有可见句柄的子对象,您可以使用isempty(hs1.Children)
.