MATLAB Answers

How to save multiple figures with subplots as a single .fig file in an for loop

85 views (last 30 days)
In-chan Kim
In-chan Kim on 2 Mar 2020
Commented: Ruger28 on 4 Mar 2020
Hi
I want to save as .fig file multiple figures, each of which have subplots in them, created within a for loop.
I'd like to save each .fig file for each iteration of the loop.
At the moment, I have these plots, which I try to put into one output called figs. And I have a figs being created in each iteration.
I then try to save it.
But it's not working.
Also, I get a lot of figures for each for loop, so it'd be great if I could not actually bring up a figure each time, but still save it, and be able to make them into figures after I open up the saved file
Thanks!
within the for loop
figs(1,1)=figure;
subplot(2,2,1)
cdfplot(baseavgpricecomp)
subplot(2,2,2)
etc.
figs(1,2)=figure;
subplot(2,2,1)
etc.
% for each iteration
figname = sprintf('Form1_Scenario%dfigs',j);
figpath='Analysis';
saveas(figs, fullfile(figpath, figname), 'fig')

  0 Comments

Sign in to comment.

Answers (1)

Ruger28
Ruger28 on 2 Mar 2020
Edited: Ruger28 on 2 Mar 2020
Try this. Pay special attention to the last line.
% within the for loop
figs(1,1)=figure;
subplot(2,2,1)
cdfplot(baseavgpricecomp)
subplot(2,2,2)
% etc.
figs(1,2)=figure;
subplot(2,2,1)
% etc.
% for each iteration
figname = sprintf('Form1_Scenario%dfigs',j);
figpath='Analysis';
saveas(figs, fullfile(figpath, [figname,'.fig'])); % changed how name is saved

  4 Comments

Show 1 older comment
Ruger28
Ruger28 on 3 Mar 2020
try savefig instead. Not sure of the requirements for it.
savefig(figs, fullfile(figpath, [figname,'.fig']));
In-chan Kim
In-chan Kim on 3 Mar 2020
Afraid not. Still getting an error. Maybe it's to do with the format of figs? Please see the picture below

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!