From fe98a0875dae6edb78973aa759a3fe1bc2ad4ccc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Fri, 24 Aug 2012 15:03:35 +0200
Subject: [PATCH] Added the possibility to save the plots generated by the
 shock_decomposition command.

---
 matlab/graph_decomp.m        | 10 ++++++----
 matlab/shock_decomposition.m |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/matlab/graph_decomp.m b/matlab/graph_decomp.m
index c9572a0363..97d3b245c8 100644
--- a/matlab/graph_decomp.m
+++ b/matlab/graph_decomp.m
@@ -1,4 +1,4 @@
-function []=graph_decomp(z,shock_names,endo_names,i_var,initial_date)
+function []=graph_decomp(z,shock_names,endo_names,i_var,initial_date,DynareModel,DynareOptions)
 %function []=graph_decomp(z,varlist,initial_period,freq)
 
 % Copyright (C) 2010-2011 Dynare Team
@@ -39,7 +39,7 @@ for j=1:nvar
     if ymax-ymin < 1e-6
         continue
     end
-    figure('Name',endo_names(i_var(j),:));
+    fhandle = dyn_figure(DynareOptions,'Name',endo_names(i_var(j),:));
     ax=axes('Position',[0.1 0.1 0.6 0.8]);
     axis(ax,[xmin xmax ymin ymax]);
     plot(ax,x(2:end),z1(end,:),'k-','LineWidth',2)
@@ -48,7 +48,7 @@ for j=1:nvar
         i_1 = i-1;
         yp = 0;
         ym = 0;
-        for k = 1:comp_nbr 
+        for k = 1:comp_nbr
             zz = z1(k,i);
             if zz > 0
                 fill([x(i) x(i) x(i+1) x(i+1)],[yp yp+zz yp+zz yp],k);
@@ -70,7 +70,7 @@ for j=1:nvar
     y1 = 0;
     height = 1/comp_nbr;
     labels = char(shock_names,'Initial values');
-    
+
     for i=1:comp_nbr
         fill([0 0 0.2 0.2],[y1 y1+0.7*height y1+0.7*height y1],i);
         hold on
@@ -78,5 +78,7 @@ for j=1:nvar
         hold on
         y1 = y1 + height;
     end
+
+    dyn_saveas(fhandle,[DynareModel.fname '_shock_decomposition_' endo_names(i_var(j),:)],DynareOptions);
     hold off
 end
\ No newline at end of file
diff --git a/matlab/shock_decomposition.m b/matlab/shock_decomposition.m
index 2b78c06489..5ec9389783 100644
--- a/matlab/shock_decomposition.m
+++ b/matlab/shock_decomposition.m
@@ -107,4 +107,4 @@ end
 
 oo_.shock_decomposition = z;
 
-graph_decomp(z,M_.exo_names,M_.endo_names,i_var,options_.initial_date)
+graph_decomp(z,M_.exo_names,M_.endo_names,i_var,options_.initial_date,M_,options_)
-- 
GitLab