How to designate an axes for plot in the GUI environment with a timer

2 vues (au cours des 30 derniers jours)
Feng
Feng le 5 Déc 2016
Commenté : Walter Roberson le 6 Déc 2016
I have two GUI figures, with one having an axes in to plot using 'plot' in a time function. However, when the second GUI window opens, the plot will get to the 2nd GUI, rather than staying in the 1st figure. If I use a command like 'openfig', it will generate an error in the timer function.
Any suggestions?
Thanks!
  1 commentaire
David Barry
David Barry le 6 Déc 2016
Have you created an axes handle and are you using it as the first input to plot? Can you share your code?

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 6 Déc 2016
When you create the timer callback, pass the axes handle as one of the parameters to it.
ax = handles.axes3;
t = timer('Callback', @(src, event) MyTimerCallback(src, event, ax), ....);
function MyTimerCallback(src, event, ax)
plot(ax, ....)
  2 commentaires
Feng
Feng le 6 Déc 2016
Thanks Walter, for trying to help me!
Here is the related part of the code I changed based on your suggestion:
ax = handles.TG_Plot
b = timer;
b.ExecutionMode='FixedRate';
b.period = 5;
b.name = 'PowerAndCurrent';
b.TimerFcn = @(src, event) PowerCurrentRead(src, event, ax);
b.StartDelay = 0.3;
function PowerCurrentRead(src, event, ax)
plot(ax, w(1,:), w(2,:),'r','Linewidth',2)
The TG_Plot is the Axes I generated in the gui environment where I intended to plot.
It starts to plot on this Axes. But as soon as I start working on the second gui figure, the plot jump to the new gui, and will come back after I close the 2nd gui.
Thanks,
Feng
Walter Roberson
Walter Roberson le 6 Déc 2016
That should not happen with that code, not unless somehow the Parent of handles.TG_Plot gets set to the new figure.
By the way, where is PowerCurrentRead getting w from?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by