How to save a figure through each run of a for loop?

338 views (last 30 days)
Hello,
I am running a for loop:
for i=1:5
and in each loop, I am creating and saving a plot:
h=figure
plot(...)
saveas(h,'FIG','png');
end
This is problematic because 'FIG.png' is overwritten each time the for loop runs. How do I make it so that it saves 'FIG1.png','FIG2.png','FIG3.png', etc? In other words, how do I save FIG(i).png?
Thank you for your time.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 23 Mar 2013
Edited: Azzi Abdelmalek on 23 Mar 2013
for k=1:5
h=figure
plot(...)
saveas(h,sprintf('FIG%d.png',k)); % will create FIG1, FIG2,...
end
  7 Comments
Abbey Kirkman
Abbey Kirkman on 19 Feb 2021
hi is there away to save all these graphs to one pdf
AK
AK on 11 May 2021
hi, has anyone been able to answer @Abbey Kirkman question about saving all created graphs on one pdf?

Sign in to comment.

More Answers (3)

Image Analyst
Image Analyst on 2 Aug 2020
If you have r2020a or later, try exportgraphics().
  2 Comments
serena dsouza
serena dsouza on 2 Aug 2020
I don't have it. I am working on r2016a. Is there any other solution??
Sudheer Bhimireddy
Sudheer Bhimireddy on 4 Aug 2020
Edited: Sudheer Bhimireddy on 4 Aug 2020
You can try this,
for i=1:3
.
.
for k=1:5
h=figure;
plot(..);
fig_name = strcat('FIG_',num2str(i),'_',num2str(k));
print(h,fig_name,'-dpng','-r400');
end
end
This way you can print to your desired format and resolution.

Sign in to comment.


serena dsouza
serena dsouza on 2 Aug 2020
Hi, I am having same type of code but i want to save figures from two for loop.how can I do this.I have tried by following command but it is giving error.Thank you
for i=1:3
.
.
for k=1:5
h=figure
plot(...)
saveas(h,sprintf('FIG%d%d.png',ik));
end
end

Image Analyst
Image Analyst on 2 Aug 2020

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!