Saving figures in a loop with variable file names

19 vues (au cours des 30 derniers jours)
Saar Peles
Saar Peles le 29 Avr 2020
Hi I'm trying to run a loop that creates plots and then saves them in a specific file. I'm having trouble saving the figures with the correct names and also populating them in a specific file. I realize what I have currently in the filename is invalid but here is what I have so far:
order = ["rr_la", "ll", "rr_sa", "cc"];
orderS = ["epi", "mid", "endo", "ave"];
for j = 1:16 % through AHA regions but not the apex
region2 = "AHA" + j;
for k = 1:4 % through order of strains
epi = S10.(region2).stat.(order(k)).epi.org;
mid = S10.(region2).stat.(order(k)).mid.org;
endo = S10.(region2).stat.(order(k)).endo.org;
ave = S10.(region2).stat.(order(k)).ave.org;
phase = 1:size(epi,1);
plot(phase,epi,phase,mid,phase,endo,phase,ave);
legend('epi','mid','endo','ave');
grid
filename = [(Snum) '_AHAPlot' (region2) (order(k)) '.fig'];
saveas(gcf,filename);
end
end
  1 commentaire
Shahnil Sadiq Noorani
Shahnil Sadiq Noorani le 30 Avr 2020
hi
can you please help me in this question

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 29 Avr 2020
Assuming they're all strings, try sprintf():
filename = sprintf('%s_AHAPlot%s%s.png', Snum, region2, order(k));
  2 commentaires
Saar Peles
Saar Peles le 29 Avr 2020
Seemed to work in creating the files, how do I make them populate a specific file?
Image Analyst
Image Analyst le 30 Avr 2020
I don't know what that means. The line of code I gave constructs a filename string. You then need other lines of code to create the file, such as
currentFigure = gcf;
exportgraphics(currentFigure, filename); % r2020a release or later only

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by