Save all the plots
633 ビュー (過去 30 日間)
古いコメントを表示
Konstantinos
2015 年 3 月 11 日
コメント済み: José Ángel Sevillano Caraballo
2024 年 6 月 10 日
Each time I run my code it produces 100 figures. So, I have to waste my time and save each one of them. Is there a command that can do that work for me by saving all the figures at once?
1 件のコメント
Hira
2022 年 9 月 27 日
m=1;
title("S31 Plot Measurement Number ("+m+")")
xlabel('Delay')
ylabel('Mag(S31)')
saveas(gcf,"S31_plot_"+name+"_Measurement_No_"+m+".fig")
close(gcf)
m=m+1;
採用された回答
Jan
2015 年 3 月 11 日
No, there is no such command. But it is easy to write one:
FolderName = tempdir; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
FigName = get(FigHandle, 'Name');
savefig(FigHandle, fullfile(FolderName, FigName, '.fig'));
end
Adjust the FigName to your needs.
5 件のコメント
Lars Abrahamsson
2020 年 5 月 18 日
I noticed one "problem" when saving all figures into one file.
When loading them back with "openfig" the numbers/order of the figures becomes revered.
Why is that? Can anything be done to counteract that?
Brandon Laflen
2020 年 5 月 19 日
If they load backwards, I'm guessing findobj is LIFO. Maybe try
savefig(FigList(end:-1:1),filename)
instead?
その他の回答 (3 件)
Luke Shaw
2018 年 11 月 30 日
編集済み: Luke Shaw
2018 年 11 月 30 日
Missed a make current step: set(0, 'CurrentFigure', figureHandle)
FolderName = tempdir; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
FigName = num2str(get(FigHandle, 'Number'));
set(0, 'CurrentFigure', FigHandle);
savefig(fullfile(FolderName, [FigName '.fig']));
end
5 件のコメント
Nabil Mederbel
2022 年 6 月 11 日
Hi guys,
I tried to save figures with '.eps' format ...didnt work.
any idea ? thx
José Ángel Sevillano Caraballo
2024 年 6 月 10 日
This worked for '.png' format, it should work for whatever format you want.
FolderName = tempdir; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
FigName = num2str(get(FigHandle, 'Number'));
set(0, 'CurrentFigure', FigHandle);
saveas(FigHandle,fullfile(FolderName, [FigName '.png'])); %Specify format for the figure
end
Tanveer
2022 年 9 月 18 日
FolderName = 'xx'; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
FigName = ['Fig' num2str(iFig)];
savefig(FigHandle, fullfile(FolderName, [FigName '.fig']));
saveas(FigHandle, fullfile(FolderName, [FigName '.png']));
% saveas(FigHandle,filename,formattype)
end
0 件のコメント
Mehri Mehrnia
2022 年 8 月 3 日
Based on the answers, it means there is no 1 line of code which can save all open plots?
1 件のコメント
Hira
2022 年 9 月 27 日
m=1;
title("S31 Plot Measurement Number ("+m+")")
xlabel('Delay')
ylabel('Mag(S31)')
saveas(gcf,"S31_plot_"+name+"_Measurement_No_"+m+".fig")
close(gcf)
m=m+1;
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!