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

Delete object handle and keep variable in MATLAB

使用 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 属性(XDataYData)也已删除。有没有办法保留 h1 属性?在使用 delete 之前是否一定需要备份属性?

与其删除 h1,不如将其隐藏:

h1.Visible = 'off';

您可以看到数据仍然存在:

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