我有一个用户可以点击进入的图形。点击的坐标将存储在两个向量 x 和 y 中。比起我通过 plot(x_new, y_new)
绘制新创建的点,还有一个上下文 me nu 正在为这个点创建,它有一个标签 delete point
。当点击它,我只是删除了 x
和 y
向量的相应值。
现在我需要以某种方式删除标绘点。目前我是这样做的:删除点时,我只需清除当前轴 cla
并立即重绘所有点。但不知何故,我觉得这不是最好的方法,因为我还想在用户输入的点之间显示文本和一些连接线,并且当所有内容每次都需要重绘时,它可能会变得非常慢......
所以我想知道最好的方法是什么? 简单地存储每个点的返回图句柄,而不是在删除点时删除这些对象会好吗?连接线和文本也一样吗?
谢谢!
最佳答案
您可以直接使用 XData
和 YData
属性操作一行的基础数据。
删除索引 idx
处的点:
XData = get(h_line, 'XData');
YData = get(h_line, 'YData');
XData(idx) = [];
YData(idx) = [];
set(h_line, 'XData', XData, 'YData', YData);
关于matlab - 从 MATLAB 绘图中删除点和线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575071/