Saving multiple matlab figures as per their title

25 visualizaciones (últimos 30 días)
fadzhi
fadzhi el 9 de Jun. de 2020
Respondida: Ameer Hamza el 10 de Jun. de 2020
Hey all,
I am currently using this code to save all the opened Matlab figures. The code saves figures as per numbeR (1,2,3.fig). Instead of numbering, i want to save the files as per title (T100_edot0.01.fig T200_edot0.02.Fig and so on)
FolderName = 'C:\\Bergström\Data_generated_Bergström'; % 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
Many thanks in advance

Respuestas (2)

Paresh yeole
Paresh yeole el 9 de Jun. de 2020
t= get(gca,'title');
FigName = get(t,'string');
This should do the work.

Ameer Hamza
Ameer Hamza el 10 de Jun. de 2020
Figure does not have titles, I guess you want to get the axes title. An alternative to Paresh solution is following using OOP syntax
FolderName = 'C:\\Bergström\Data_generated_Bergström'; % Your destination folder
FigList = findobj(allchild(0), 'flat', 'Type', 'figure');
for iFig = 1:length(FigList)
FigHandle = FigList(iFig);
ax = findobj(FigHandle, 'type', 'axes');
FigName = ax.Title.String;
savefig(FigHandle, fullfile(FolderName, [FigName '.fig'])); % in this case, no need to use set(0, 'CurrentFigure', FigHandle);
end

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by