删除matlab图上的补丁而不关闭函数

时间:2016-01-18 02:11:32

标签: matlab plot figure

我在matlab图上绘制了一个正方形,如下所示。

x = [-1 1 1 -1];
y = [-1 -1 1 1];
h=figure(1)
patch(x,y,'red')
axis([-2 2 -2 2])

结果如下。

enter image description here

我想在不使用matlab关闭功能的情况下擦除红色方块,如下所示。

enter image description here

如何在不关闭数字的情况下擦除正方形?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

指定patch的输出不仅允许您accessmodify对象的属性,还允许您将其传递给其他函数。在这种情况下,您可以将对象传递给delete函数,该函数将从内存中清除它。

例如:

x = [-1 1 1 -1];
y = [-1 -1 1 1];
h = figure(1);
p = patch(x, y, 'red');
axis([-2 2 -2 2]);
pause(0.5); % Wait half a second
delete(p)

请注意,虽然delete从内存中清除引用的对象,但它不会清除工作区中的变量。如有必要,您可以使用clear进行内务管理。