how to subplot n figures (pcolor) using for loop

4 vues (au cours des 30 derniers jours)
SanSun
SanSun le 29 Sep 2020
Modifié(e) : Adam Danz le 30 Sep 2020
Hello everyone.
I have n.fig saved files (pcolor figures) that I want to plot in one new subplot (n X 2). Can anyone please help me out here? I will be really really grateful :)
clear all
clc
% Open .fig
field = 'C:\xxxxxxx';
rep = fullfile(field);
if exist(rep, 'file')~=7
error('field does not exist');
else
ext = '*.fig';
chemin = fullfile(rep,ext);
list = dir(chemin);
nFig = numel(list);
newAxes = [];
% Open each figure and copy content
for i = 1:nFig
% Open fig-i
filename = fullfile(rep,list(i).name);
fighand = openfig(filename,'invisible');
% Get axis handle (assumption: only 1 axes in figure)
axHand = findobj(fighand, 'Type', 'Axes');
if i==1
fh = figure();
newAxes = copyobj(axHand, fh);
hold(newAxes, 'on')
h = newAxes.Children;
else
h=subplot(nFig,2,i);
end
% % Close fig-i
close(fighand)
end
end
  4 commentaires
VBBV
VBBV le 30 Sep 2020
Modifié(e) : VBBV le 30 Sep 2020
Just use hold on without get and plothandles shown below
% if true
% code
% end
h(i) = subplot(nFig,2,i);
hold(h(i),'on');
VBBV
VBBV le 30 Sep 2020
You can also use nexttile and tiledlayout instead of subplot as
% if true
% code
%end
tiledlayout(nFig,2)
nexttile
plot(...)
Within the loop

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by