saving figure with title as name of file

22 vues (au cours des 30 derniers jours)
C.G.
C.G. le 29 Oct 2021
Commenté : C.G. le 29 Oct 2021
I have 4 .mat files. I extract the data from these, plot them and save each figure.
Now, I want the title of the plot, and the name of the png file i save to be the name of the .mat file the data is from.
How do I go about doing this?
files = dir('*.mat');
num_files = length(files);
resGT = zeros(100000,num_files);
%calculate resGT
for a = 1:num_files
load(files(a).name)
v = vel(1:100000,:);
e = num;
timestep = height(vel);
time_sec = timestep/100;
inputrate = 1;
resGT(:,a) = sqrt(v(:,1).^2 +v(:,2).^2 + v(:,3).^2);
end
%plot
for a = 1:num_files
figure()
cla;
plot(resGT(:,a)) %GT over time
title ('GT through time')
xlabel('Time')
ylabel('GT')
saveas(gcf,sprintf('ResGT%d.png',a))
hold on
pause(0.5)
end

Réponse acceptée

Geoff Hayes
Geoff Hayes le 29 Oct 2021
Modifié(e) : Geoff Hayes le 29 Oct 2021
@C.G. - since you have the file name in your files structure, then you could just do
for a = 1:num_files
matFileName = files(a).name;
figure()
cla;
plot(resGT(:,a)) %GT over time
title (matFileName)
xlabel('Time')
ylabel('GT')
saveas(gcf,sprintf('%s.png',matFileName))
hold on
pause(0.5)
end
  1 commentaire
C.G.
C.G. le 29 Oct 2021
thats great thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Specifying Target for Graphics Output dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by