How do i make figures plotted in Matlab to appear in a chronological order?

6 Ansichten (letzte 30 Tage)
I have 5 figures plotted .As we know , the cursor Matlab always takes us to the final 5th figure when we finsih our simulation.
How do i make figure 1 come first , then figure 2 , 3 , 4 and then 5 in an order?
Thank you in advance

Akzeptierte Antwort

Rik
Rik am 13 Mai 2019
You can bring focus to a figure with the figure function:
h=struct;
h.f=zeros(1,5);%will contain the handles to the figures
for n=1:5
h.f(n)=figure(n)
plot(rand(1,10),1:10)
end
%bring focus to the figures in reverse order
for n=numel(h.f):-1:1
figure(h.f(n))
end
  2 Kommentare
Rik
Rik am 13 Mai 2019
Note that this only brings the focus to the figures visually and will work for most applications. In edge cases you might need the function below (written by Jan, which he recently posted again here).
function FocusToFig(ObjH, EventData)
FigH = ancestor(ObjH, 'figure');
% Work-around
if strcmpi(get(ObjH, 'Type'), 'uicontrol')
set(ObjH, 'Enable', 'off');
drawnow;
set(ObjH, 'Enable', 'on');
pause(0.02); % Give the re-enabled control a chance to be rendered
end
% Methods according to the documentation (does not move the focus for
% keyboard events under Matlab 5.3, 6.5, 2008b, 2009a):
figure(FigH);
set(groot, 'CurrentFigure', FigH);
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by