File: ghistd.m

package info (click to toggle)
dynare 4.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 40,640 kB
  • sloc: fortran: 82,231; cpp: 72,734; ansic: 28,874; pascal: 13,241; sh: 4,300; objc: 3,281; yacc: 2,833; makefile: 1,288; lex: 1,162; python: 162; lisp: 54; xml: 8
file content (93 lines) | stat: -rw-r--r-- 2,668 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
function noargout = ghistd(qmEnd,yrEnd,forepy,q_m,HDv,lendlab,titlab,ylab,timelab,rnum,cnum)
%
%    Plot historical decompositions (annually at this time), no argument out
%
% qmEnd: the end month before the forecast
% yrEnd: the end year before the forecast
% forepy: the number of forecast calendar years
% q_m: 12 or 4 (monthly or quarterly)
% HDv: nHD-by-1 cell where nHD is number of decompositions;
%      each cell is forepy-by-nvar
% lendlab: label for the lengend
% titlab: label for the title
% ylab: label for the variables
% timelab:  label for the time of forecast and indication of insample or out-of-sample
% rnum:  row number for the subplot (e.g., 3)
% cnum:  column number for the subplot (e.g., 2)
%---------------
% no argument out
%
% October 1998 Tao Zha
%
% Copyright (C) 1997-2012 Tao Zha
%
% This free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% It is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% If you did not received a copy of the GNU General Public License
% with this software, see <http://www.gnu.org/licenses/>.
%

%  To be done:
%    lengend does not work well
%    colormap should be replaced by some non-color shading
%    title: need to have only one.

fbegm = qmEnd+1;   % +1 because the first month out of sample
if fbegm > q_m    % the first forecast month into the next year
	fbegm = 1;     % reset
	fbegy = yrEnd+1;   % the first forecast year for the graph
else
	fbegy = yrEnd;    % the first forecast year for the graph
end
ffiny = fbegy+forepy-1;   % the forecast final year

figure
%cnum = 2;
nvar = size(HDv{1},2);
rnum = nvar/cnum;
if ~(rnum==fix(rnum))
	warning('Make that subplot is divided properly')
	disp('Check rnum as well as cnum')
	return
end

hornum = cell(length(fbegy:ffiny),1);    % horizontal number
count=0;
for k=fbegy:ffiny
	count=count+1;
	jnk=num2str(k);
	hornum{count}=jnk(3:4);   % e.g., with '1990', we have '90'
end


for k=1:nvar
	bardata = [];
	for n=1:size(HDv,1)
		bardata = [bardata HDv{n}(:,k)];
	end

   subplot(rnum,cnum,k)
	bar(fbegy:ffiny,bardata,0.75,'group')
	set(gca,'XTickLabel',char(hornum))
	if k==1
		legend(char(lendlab),1)
	end
	colormatrix = [0.2 0.2 0.2;0.8 0.8 0.8];
	colormap(colormatrix)
	if k<=cnum
		title(char(titlab))
	end
	if k>((rnum-1)*cnum)
		xlabel(timelab)
	end
	grid
	ylabel(char(ylab{k}))
end