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?

 采纳的回答

add
hold(handles.axes1, 'on')

3 个评论

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.
I misunderstood your question
cla(handles.axes1)
plot....

请先登录,再进行评论。

更多回答(1 个)

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

类别

在 帮助中心 和 File Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by