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

314 ビュー (過去 30 日間)
NH
NH 2013 年 3 月 23 日
コメント済み: AK 2021 年 5 月 11 日
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 件のコメント
Abbey Kirkman
Abbey Kirkman 2021 年 2 月 19 日
hi is there away to save all these graphs to one pdf
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 日
編集済み: 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 Center および File ExchangePrinting and Saving についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by