Looping through files and creating and saving plots

조회 수: 1 (최근 30일)
John
John 2013년 1월 28일
Hi,
I'm trying to loop through a folder of files (20) to create 20 plots.
I have most of the code completed I think, but I am unsure of how to
1. title the plot with the name of the file from which the data came from and 2. How to save the plot as a .tif image with the name of the file
Would anybody be able to advise me on this?
Thank you
files = cellstr(ls('*.xls'));
for k = 1:length(files)
sch_cycle = xlsread(files{k}, 'Sheet1');
Y1 = sch_cycle(:,1);
createfigure(Y1);
[~,fn] = fileparts(files{k});
saveas(gca,'fn.tif') %%%-Question 2%%%
end
function createfigure(Y1)
%CREATEFIGURE3(Y1)
% Y1: vector of y data
% Auto-generated by MATLAB on 16-Jan-2013 15:53:12
% Create figure
figure1 = figure;
% Create axes
axes1 = axes('Parent',figure1,...
'XTick',[0 200 400 600 800 1000 1200 1400 1600 1800],...
'FontWeight','bold',...
'FontSize',14);
box(axes1,'on');
hold(axes1,'all');
% Create plot
plot(Y1,'LineWidth',1);
% Create xlabel
xlabel('Time (s)','FontWeight','bold','FontSize',14);
% Create ylabel
ylabel('Velocity (km/hr)','FontWeight','bold','FontSize',14);
% Create title
title('fn','FontWeight','bold',... %%%-Question 1%%%
'FontSize',14);

채택된 답변

Walter Roberson
Walter Roberson 2013년 1월 28일
  댓글 수: 2
John
John 2013년 1월 31일
Hi Walter,
Is the above code incorrect to create and save the plots? I thought the first piece of code would be correct? I just wanted to know to put the file name in the title of the plot in each loop. I got the file name using fileparts but I am unsure of the correct syntax to but it in the title of the plot.
Thank you
Jan
Jan 2013년 1월 31일
@John: You can simply try it, if your code does what you want. Currently it creates the same filename "fn.tif" in each iteration and the subfunction createfigure does not know the name of the file, because this has not been provided in the input arguments.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2013년 1월 31일
편집: Jan 2013년 1월 31일
[~,fn] = fileparts(files{k});
createfigure(Y1, fn);
saveas(gca,[fn, '.tif'])
and:
function createfigure(Y1, FileName)
...
title(axes1, FileName, 'Interpreter', 'none');
The used methods are described in the link Walter has posted.

카테고리

Help CenterFile Exchange에서 Title에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by