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

Answers (2)

Jan
Jan on 10 Jan 2013
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 on 10 Jan 2013

0 votes

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

Products

Asked:

on 10 Jan 2013

Community Treasure Hunt

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

Start Hunting!