82 lines
1.9 KiB
Matlab
Executable File
82 lines
1.9 KiB
Matlab
Executable File
function makechart(titlelist,legendlist,figlabel,ylabels,zdata1,zdata2,zdata3)
|
|
|
|
|
|
|
|
figure
|
|
|
|
titlelist = char(strrep(cellstr(titlelist),'_','.'));
|
|
|
|
ndsets=3; % default, changed below as applicable
|
|
if nargin==5
|
|
zdata2=nan*zdata1;
|
|
zdata3=nan*zdata1;
|
|
ndsets =1;
|
|
elseif nargin == 6
|
|
zdata3 =nan*zdata1;
|
|
ndsets=2;
|
|
elseif ((nargin>8) | (nargin <=4))
|
|
error ('makechart takes 5 to 6 arguments')
|
|
end
|
|
|
|
nobs = size(zdata1,1);
|
|
xvalues = (1:nobs)';
|
|
|
|
nvars = size(titlelist,1);
|
|
if nvars==1
|
|
nrows=1;
|
|
ncols = 1;
|
|
elseif nvars==2
|
|
nrows =2;
|
|
ncols = 1;
|
|
elseif (nvars == 3 | nvars ==4)
|
|
nrows = 2;
|
|
ncols =2;
|
|
elseif (nvars==5 |nvars ==6)
|
|
nrows = 3;
|
|
ncols = 2;
|
|
elseif (nvars==7 | nvars==8)
|
|
nrows = 4;
|
|
ncols = 2;
|
|
elseif (nvars==9 | nvars==10)
|
|
nrows = 5;
|
|
ncols = 2;
|
|
else
|
|
error('too many variables (makechart)')
|
|
end
|
|
|
|
for i = 1:nvars
|
|
subplot(nrows,ncols,i)
|
|
h1=plot(xvalues,zdata1(:,i),'b-','linewidth',2); hold on
|
|
h1=plot(xvalues,zdata2(:,i),'r--','linewidth',2); hold on
|
|
h2=plot(xvalues,zdata3(:,i),'b-','LineWidth',3);
|
|
[x0 x1 y10 y11] = pickaxes(xvalues,zdata1(:,i));
|
|
[x0 x1 y20 y21] = pickaxes(xvalues,zdata2(:,i));
|
|
[x0 x1 y30 y31] = pickaxes(xvalues,zdata3(:,i));
|
|
y0 = min([y10,y20,y30]);
|
|
y1 = max([y11,y21,y31]);
|
|
if y0==y1
|
|
y1=y0+1;
|
|
end
|
|
|
|
axis([x0 x1 y0 y1])
|
|
set(h1);
|
|
|
|
if i==1 && isempty(legendlist)==0
|
|
legend(legendlist)
|
|
text('String',figlabel,'Units','normalized','Position',[1.2 1.24],...
|
|
'FontSize',14,'FontWeight','bold','HorizontalAlignment','center');
|
|
end
|
|
|
|
if i==nvars | i==nvars-1
|
|
xlabel('Time');
|
|
end
|
|
% set(gca,'XTick',xtick)
|
|
% set(gca,'XTickLabel',xticklabel)
|
|
|
|
title([num2str(i),'. ',titlelist(i,:)]);
|
|
ylabel(ylabels(i,:))
|
|
end
|
|
|
|
% sets printing preferences
|
|
%printpref
|