在MATLAB中删除对象句柄并保留变量

在MATLAB中删除对象句柄并保留变量,matlab,matlab-figure,Matlab,Matlab Figure,使用delete函数,我可以删除对象句柄,但也可以从变量中删除对象属性。 有没有一种方法可以在不接触变量属性的情况下删除对象句柄 例如,我有如下两个图,我删除了第一个 figure; h1 = plot( 1:10, '*' ); hold on h2 = plot( 2:5, '.' ); delete( h1 ); h1.XData % returns an error, handle has been removed 已按预期从图形中删除h1对象句柄,但所有h1属性(XData,YDat

使用
delete
函数,我可以删除对象句柄,但也可以从变量中删除对象属性。
有没有一种方法可以在不接触变量属性的情况下删除对象句柄

例如,我有如下两个图,我删除了第一个

figure;
h1 = plot( 1:10, '*' );
hold on
h2 = plot( 2:5, '.' );
delete( h1 );
h1.XData % returns an error, handle has been removed

已按预期从图形中删除
h1
对象句柄,但所有
h1
属性(
XData
YData
)也已删除。是否有办法保留
h1
属性?在使用
delete
之前,是否需要备份属性

不要删除
h1
,只需隐藏它:

h1.Visible = 'off';
您可以看到数据仍然存在:

>> h1.XData
ans =
     1     2     3     4     5     6     7     8     9    10

对在删除图形对象之前,需要备份要保留的任何内容。