Delete line in GUI

Hello community,
I have got a GUI with axes. I've made a function which plot a line when I click mouse button. I need to delete previous line when I plot new one, but I want to leave alone other lines. How can I do that?
Andrew

回答(2 个)

Jan
Jan 2013-1-10
You can store the handles of objects you want to delete later:
AxesH = axes('NextPlot', 'add');
LineH = plot(1:10, rand(1, 10));
set(AxesH, 'UserData', LineH);
...
pause(2);
OldLineH = get(AxesH, 'UserData');
delete(OldLineH);
LineH = plot(1:10, rand(1, 10));
Setting 'NextPlot' to 'add' is equivalent to "hold on". Setting it to 'replace' let the plot() command remove all previously plotted objects automatically.
Azzi Abdelmalek
Azzi Abdelmalek 2013-1-10

0 个投票

A new plot will automatically erase the previous plot, unless there is something else then a line in your previous plot.

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

产品

标签

提问:

2013-1-10

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by