Matlab 有没有办法从现有轴上删除单个绘图?

Matlab 有没有办法从现有轴上删除单个绘图?,matlab,plot,axes,Matlab,Plot,Axes,有没有一种简单的方法可以在不清除轴上所有其他内容的情况下从一组轴上删除打印线?我正试图实现一个包含多个数据集的列表框的GUI。我可以让回调函数绘制所选数据,但我不确定在取消选择数据集时如何“取消绘制”。有什么想法吗?如果保存已创建图形对象的句柄,可以调用该句柄将其从绘图中删除: hLine = plot(...); %# Create a line with PLOT delete(hLine); %# ...and delete it 或者,如果没有将句柄保存在变量中,可以使用搜

有没有一种简单的方法可以在不清除轴上所有其他内容的情况下从一组轴上删除打印线?我正试图实现一个包含多个数据集的列表框的GUI。我可以让回调函数绘制所选数据,但我不确定在取消选择数据集时如何“取消绘制”。有什么想法吗?

如果保存已创建图形对象的句柄,可以调用该句柄将其从绘图中删除:

hLine = plot(...);  %# Create a line with PLOT
delete(hLine);      %# ...and delete it
或者,如果没有将句柄保存在变量中,可以使用搜索它,然后在找到它时将其删除

如果实际上不想删除它,只需打开和关闭线的可见性,则可以相应地设置图形对象的可见性:

set(hLine,'Visible','off');  %# Make it invisible
set(hLine,'Visible','on');   %# Make it visible

我发誓我试过了,但当时不起作用,现在起作用了。啊,我用的是
delete plothandle
而不是
delete(plothandle)
@Doresoom:这就解释了。命令语法
delete plothandle
将查找名为
plothandle
的文件进行删除。@Doresoom,
delete plothandle
相当于
delete('plothandle')
,但如果有图例,则不会删除该图例,是吗?你可能对FEX:@Amro:非常好的建议感兴趣!谢谢你提醒我这件事。