Delete line in GUI

6 vues (au cours des 30 derniers jours)
Andrew
Andrew le 10 Jan 2013
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

Réponses (2)

Jan
Jan le 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 le 10 Jan 2013
A new plot will automatically erase the previous plot, unless there is something else then a line in your previous plot.

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by