Problem with GUI plotting

I run a GUI where i enter values through edit boxes in order to take a plot, for example a simple line between A and B (i enter their coordinates through the boxes)
The function that plot the line is called from a push button.
I enter the A,B coordinates, press the button and get the plot with the line.
If, while still running the GUI, i enter a different value for A or B and press the button i get two lines in the plot.
What can i do so that when i press the button for a second time the first plot gets erased and the second plot is displayed alone?

 Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 22 de Sept. de 2013

0 votos

add
hold(handles.axes1, 'on')

3 comentarios

Dimitris Arapidis
Dimitris Arapidis el 22 de Sept. de 2013
it didn't work.
I have an axes, 2 edit boxes x1,x2 and the run button.
I use the following code on the run callback:
x1 = str2double(get(handles.x1,'String'));
x2 = str2double(get(handles.x2,'String'));
y1=1;
y2=2;
hold(handles.axes1, 'on')
plot([x1 x2],[y1 y2],'r')
guidata(hObject,handles);
strings are taged properly because i get the plots but they still overlap when i change x1,x2.
Azzi Abdelmalek
Azzi Abdelmalek el 22 de Sept. de 2013
I misunderstood your question
cla(handles.axes1)
plot....
Dimitris Arapidis
Dimitris Arapidis el 22 de Sept. de 2013
thank you

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 22 de Sept. de 2013

0 votos

Put
cla reset
before you plot the new line. Or else
hold off
would probably work too.

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by