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

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

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!