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 日

4 投票

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.

カテゴリ

製品

タグ

質問済み:

2013 年 1 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by