How to save multiple plots in one folder ?

for k = 1:10
figure(k);
plot(foo);
temp=['fig',num2str(k),'.png'];
saveas(gca,temp);
end
In this particular code i have 10 figures. How can i save all these figures in one single folder.

1 Comment

How to read multiple files is explained extensively in the documentation, on this forum, and in the wiki:
etc
The first thing to decide is if you want to generate the file names, or if you want to read the names of existing files:
  • generate names: use sprintf and fullfile.
  • read names: use dir and fullfile.
You can also find some examples with my FEX submission natsortfiles:

Sign in to comment.

 Accepted Answer

KSSV
KSSV on 5 Jun 2017
Edited: KSSV on 5 Jun 2017
Note that, it is not needed to use figure(k), you can simply use only one figure and update it every time and save.
path = pwd ; % mention your path
myfolder = 'myfolder' ; % new folder name
folder = mkdir([path,filesep,myfolder]) ;
path = [path,filesep,myfolder] ;
for k = 1:10
figure(k);
plot(rand(1,10));
temp=[path,filesep,'fig',num2str(k),'.png'];
saveas(gca,temp);
end

6 Comments

@KSSV: it is good advice to use one figure. Keep in mind though:
  • do NOT use the name path, because it is already an important inbuilt function.
  • much better to use fullfile rather than concatenating strings.
what if i want to save it with the filename of the file that i am taking the information from
@Firas Guechchati: Use DIR and FILEPARTS.
What is the filesep in path = [path,filesep,myfolder] ;?
That gives you path. You can print it out on screen and check.

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 5 Jun 2017

Commented:

on 13 Nov 2022

Community Treasure Hunt

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

Start Hunting!