Saving figures in a loop with variable file names
24 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
Image Analyst
2020-4-29
Assuming they're all strings, try sprintf():
filename = sprintf('%s_AHAPlot%s%s.png', Snum, region2, order(k));
2 个评论
Image Analyst
2020-4-30
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!