MATLAB: MATLAB : update plot with a pushbutton

edittextfigure

Hello,
I have a figure with a graph and 2 different plot on this graph. I add an edit text with a push button in my figure near my graph.
Button_app=uicontrol('Parent',fig,'Style','pushbutton','String','Ok','Units','normalized','Position',[0.82 0.4 0.1 0.03]);
edit=uicontrol('Parent',fig,'Style','edit','String','','Units','normalized','Position',[0.82 0.45 0.1 0.03]);
And I would like the user write a number in the edit text and update one of my plot (by adding this number in each value of this plot). But I don't know how to do it ? I have a function callback when I push the button but I don't know how to get the value when the user write in the edit text.
set(Button_app,'Callback',@Callback)
Thank you in advance,
Best regards

Best Answer

If you simply want to know how to get a value from an editbox then:
newVal = str2double( edit.String );
(Don't call your varaible 'edit' though - this is a builtin function and even if it is not a function you intend to use just don't get into the habit of overwriting function-names with variables).
As far as updating your graph goes, the user just enters a single number? So is this just expected to be appended as a y value and an x value created just as the next increment of x?
One way to do this fairly neatly is to keep the handle of your original plot e.g.
hLine = plot(...);
Then edit the 'XData' and 'YData' properties with the new data e.g.
xData = get( hLine, 'XData' );
yData = get( hLine, 'YData' );
set( hLine, 'YData', [yData newVal], 'XData', [xData xData(end) + 1] );
Unless you have a large amount of data you could probably just delete the graph and replot the whole thing too, but I prefer to just edit the existing line object in such cases.