【问题标题】:Removing patch on matlab figure without close function在没有关闭功能的情况下删除matlab图形上的补丁
【发布时间】:2016-01-18 02:11:31
【问题描述】:

我在matlab图上画了一个正方形,如下图。

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

结果如下。

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

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

提前谢谢你。

【问题讨论】:

标签: matlab plot figure


【解决方案1】:

将输出指定到patch 不仅允许您使用access 和modify 对象的属性,还允许您将其传递给其他函数。在这种情况下,您可以将对象传递给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 进行家务管理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2014-10-29
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多