matlab - 如何检查轴句柄是否已清除

标签 matlab matlab-figure

我想检查一些轴是否已经被清除,基于这些轴将执行一些进一步的任务。我使用 cla 清除一些轴,而不是 delete。例如:

figure

hs1 = subplot(121); plot(rand(100,2), 'x');

hs2 = subplot(122); plot(rand(100,2), 'o');

cla(hs1)

那么,问题就是如何判断hs1是否被清除。

最佳答案

cla函数删除所有带有 visible handles 的子对象默认情况下。因此,您可以通过查看轴是否有 child objects 来检查轴是否已被清除。使用 allchild功能:

isCleared = isempty(allchild(hs1));

需要记住的几点注意事项:

  • 默认情况下,cla 函数不会清除具有隐藏 句柄的对象。清除隐藏句柄需要选项 cla(hs1, 'reset')

  • allchild 函数将查找所有子对象,无论它们的句柄是否可见。如果您只想检查具有可见句柄的子对象,您可以使用 isempty(hs1.Children)

关于matlab - 如何检查轴句柄是否已清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53768828/

相关文章:

matlab - 使用 * 时出错 内部矩阵尺寸必须一致

image - Matlab中的肺分割

matlab - 如何在matlab中将数组拆分为参数值?

matlab - 在 Matlab : what coordinate system should be used for relative camera rotation parameter? 中创建 stereoParameters 类

MATLAB:从 parfor 调用父类(super class)的方法

MATLAB 指南针北

c++ - 使用 MATlab 访问投影仪

matlab - 使用颜色条和嵌套平铺布局

matlab - 校准图像以获得位于同一平面上的点的俯 View

matlab - 'yyaxis' 轴属性的行为