如何从MATLAB中的图形中删除子对象?

时间:2016-08-10 11:12:16

标签: matlab matlab-figure axes

如何从MATLAB中的<a href="#"> <div class="div_one">Content div One</div> </a> <div class="div_two">Content div Two</div> 中删除children个对象?

1-假设我想从figure 删除(不是不可见)axes。怎么做?
2-由于figureaxes的子项,因此可以使用相同的方法删除figure的任何类型的子项吗?

我在这里搜索了文档但是我不想让它变得不可见。我想删除它。

1 个答案:

答案 0 :(得分:3)

如果您已经处理了轴(来自figure.Children或其他),您只需使用delete将其从图中移除,无论其可见性如何。

fig = figure();
hax = axes('Parent', fig);

% Delete the axes directly
delete(hax)

如果您无法访问该句柄,则可以使用findobjfindall findall甚至找到axesHandleVisibility'off')找到属于你的人物的轴,然后delete将其删除。

delete(findobj(gcf, 'type', 'axes'));
% delete(findall(gcf, 'type', 'axes'));

如果您的轴具有特定的Tag属性,则可以进一步按

进行过滤
delete(findobj(gcf, 'type', 'axes', 'tag', 'mytag'));
% delete(findall(gcf, 'type', 'axes', 'tag', 'mytag'));

您可以将任何属性/值对传递给findobjfindall,这样您甚至可以删除所有不可见的轴:

delete(findobj(gcf, 'type', 'axes', 'visible', 'off'))