【问题标题】:Is there a way to remove a single plot from existing axes?有没有办法从现有轴中删除单个图?
【发布时间】:2011-03-24 06:01:17
【问题描述】:

有没有一种简单的方法可以从一组轴中删除绘制的线,而无需清除轴上的所有其他内容?我正在尝试使用包含多个数据集的列表框来实现 GUI。我可以让回调函数绘制选定的数据,但是当我取消选择数据集时,我不确定如何“取消绘制”它。有什么想法吗?

【问题讨论】:

标签: matlab plot axes


【解决方案1】:

如果你为创建的图形对象保存了一个句柄,你可以在它上面调用DELETE把它从图中移除:

hLine = plot(...);  %# Create a line with PLOT
delete(hLine);      %# ...and delete it

或者,如果您没有将句柄保存在变量中,您可以使用FINDOBJ 搜索它,然后在找到时将其删除。

如果您实际上不想删除它,而只是打开和关闭线条的可见性,则可以相应地设置图形对象的'Visible' property

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')
  • 但是如果有图例,这并不会删除,是吗?
猜你喜欢
  • 2022-01-17
  • 2019-07-08
  • 2018-12-08
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 2022-11-12
相关资源
最近更新 更多