saving figure with title as name of file

20 views (last 30 days)
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

Accepted Answer

Geoff Hayes
Geoff Hayes on 29 Oct 2021
Edited: Geoff Hayes on 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

More Answers (0)

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!