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

293 次查看(过去 30 天)
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-3-23
编辑:Azzi Abdelmalek 2013-3-23
for k=1:5
h=figure
plot(...)
saveas(h,sprintf('FIG%d.png',k)); % will create FIG1, FIG2,...
end
  7 个评论
AK
AK 2021-5-11
hi, has anyone been able to answer @Abbey Kirkman question about saving all created graphs on one pdf?

请先登录,再进行评论。

更多回答(3 个)

Image Analyst
Image Analyst 2020-8-2
If you have r2020a or later, try exportgraphics().
  2 个评论
serena dsouza
serena dsouza 2020-8-2
I don't have it. I am working on r2016a. Is there any other solution??
Sudheer Bhimireddy
编辑:Sudheer Bhimireddy 2020-8-4
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.

请先登录,再进行评论。


serena dsouza
serena dsouza 2020-8-2
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 2020-8-2

类别

Help CenterFile Exchange 中查找有关 Printing and Saving 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by