在 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
属性(XData
、YData
)也已删除。有没有办法保留 h1
属性?在使用 delete
之前是否一定需要备份属性?
与其删除 h1
,不如将其隐藏:
h1.Visible = 'off';
您可以看到数据仍然存在:
>> h1.XData
ans =
1 2 3 4 5 6 7 8 9 10
使用 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