Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Problem on working with timer object to refresh an axes on a GUI

1 Ansicht (letzte 30 Tage)
RZM
RZM am 20 Mai 2016
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I am dealing with timer object in the MATLAB GUI. Assume that we have two axes on a GUI and under display update function we plot on each axes separately. The problem here is that when the plot function executes the hObject properties changes like this: before plot execution:
get(hObject,'Children')
ans =
3x1 graphics array:
UIControl (startbutton)
Axes (axes1)
Axes (axes2)
After plot execution axes1 disappears.
plot(x,y,'LineWidth',1,'Marker','o','MarkerFaceColor','b','LineStyle','none')
K>> get(hObject,'Children')
ans =
3x1 graphics array:
UIControl (startbutton)
Axes
Axes (axes2)
So when the timer gets to the refreshing time (and the execution of display update function), a new figure is ploted and each period only that plot updates not the axes1 on the GUI.

Antworten (1)

Geoff Hayes
Geoff Hayes am 25 Mai 2016
RZM - I think that we would need to see more of your code (that in the timer callback) to get a better idea of what may be going wrong. For example, what is hObject?
As for the plot not being displayed in the correct axes, why not specify the axes that you wish to display the plot in? Your code is
plot(x,y,'LineWidth',1,'Marker','o','MarkerFaceColor','b','LineStyle','none')
If you want to plot x and y in axes1, then specify it as
plot(handles.axes1,x,y,'LineWidth',1,'Marker','o','MarkerFaceColor','b','LineStyle','none')

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by