saving figure with title as name of file

21 次查看(过去 30 天)
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

采纳的回答

Geoff Hayes
Geoff Hayes 2021-10-29
编辑:Geoff Hayes 2021-10-29
@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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Specifying Target for Graphics Output 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by