Gui Guide axes update limits

Hi I have a Gui I created using Guide.
How would I dynamically update the axes limits using a timer?
I have data being read in and displayed. The x axes limits need be set each time the data is updated when the timer calls the update
function GUIUpdate(obj,event,handles)
global x y1
handles.plot = plot(handles.axes1,x,y1);
% What I have tried...
ax = get(handles.plot,'Parent')
b.xlim([x(1) x(cols_of_data)])
axes(handles.axes1);
xlim([x(1) x(cols_of_data)])

5 Comments

Septimus - what is cols_of_data? I suspect that is a source of an error. Also what is b? You could try just
xlim(handles.axes1, [x(1) x(end)])
assuming that x(end) is the maximum element in the array.
You also shouldn't need the global variables.
Thanks Geof, you're solution works.
Cols_of_data is the number of data points read in, it's a variable. Using x(end) got the idea across.
Rik I use the global variables later on in the function, I simplified the question.
Global variables are almost always a bad idea. If you are absolutely certain you need them (you probably don't), then their names are way too short. You should be giving them very long names that include the function name. That way the chances of some other function using the same name for their global function are minimized.
True, thanks for pointing out better coding practice.

Sign in to comment.

Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Asked:

on 8 Apr 2020

Commented:

on 11 Apr 2020

Community Treasure Hunt

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

Start Hunting!