From bd40e8487c9be851614dea2d70b3a4104fc31aff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Mon, 14 Nov 2011 18:30:45 +0100
Subject: [PATCH] Do not show plots of the smoothed variables, shocks and
 errors if nograph option is used. Note that with this option the plot are
 done behind the scene and saved in fig, eps and pdf format (see trac#216).
 (cherry picked from commit 12003fbdab948adfc730bf9fa8ab8d98b0e173b5)

---
 matlab/dynare_estimation_1.m | 56 +++++++++++++++++++++++++-----------
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index abd2076e8..16baf3843 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -945,7 +945,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
         fprintf(fidTeX,' \n');
     end    
     if nbplt == 1
-        hh = figure('Name','Smoothed shocks');
+        if options_.nograph
+            hh = figure('Name','Smoothed shocks','Visible','off');
+        else
+            hh = figure('Name','Smoothed shocks');
+        end
         NAMES = [];
         if options_.TeX, TeXNAMES = []; end
         for i=1:M_.exo_nbr
@@ -981,7 +985,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(1)]);
             saveas(hh,[M_.fname '_SmoothedShocks' int2str(1) '.fig']);
         end
-        if options_.nograph, close(hh), end
         if options_.TeX
             fprintf(fidTeX,'\\begin{figure}[H]\n');
             for jj = 1:M_.exo_nbr
@@ -998,7 +1001,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
         end
     else
         for plt = 1:nbplt-1
-            hh = figure('Name','Smoothed shocks');
+            if options_.nograph
+                hh = figure('Name','Smoothed shocks','Visible','off');
+            else
+                hh = figure('Name','Smoothed shocks');
+            end
             set(0,'CurrentFigure',hh)
             NAMES = [];
             if options_.TeX, TeXNAMES = []; end
@@ -1036,7 +1043,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                 eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(plt)]);
                 saveas(hh,[M_.fname '_SmoothedShocks' int2str(plt) '.fig']);
             end
-            if options_.nograph, close(hh), end
             if options_.TeX
                 fprintf(fidTeX,'\\begin{figure}[H]\n');
                 for jj = 1:nstar
@@ -1050,7 +1056,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                 fprintf(fidTeX,'\n');
             end    
         end
-        hh = figure('Name','Smoothed shocks');
+        if options_.nograph
+            hh = figure('Name','Smoothed shocks','Visible','off');
+        else
+            hh = figure('Name','Smoothed shocks');
+        end
         set(0,'CurrentFigure',hh)
         NAMES = [];
         if options_.TeX, TeXNAMES = []; end
@@ -1092,7 +1102,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             eval(['print -dpdf ' M_.fname '_SmoothedShocks' int2str(nbplt)]);
             saveas(hh,[M_.fname '_SmoothedShocks' int2str(nbplt) '.fig']);
         end
-        if options_.nograph, close(hh), end
         if options_.TeX
             fprintf(fidTeX,'\\begin{figure}[H]\n');
             for jj = 1:size(NAMES,1);
@@ -1143,7 +1152,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             fprintf(fidTeX,' \n');
         end
         if nbplt == 1
-            hh = figure('Name','Smoothed observation errors');
+            if options_.nograph
+                hh = figure('Name','Smoothed observation errors','Visible','off');
+            else
+                hh = figure('Name','Smoothed observation errors');
+            end
             set(0,'CurrentFigure',hh)
             NAMES = [];
             if options_.TeX, TeXNAMES = []; end
@@ -1179,7 +1192,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                 eval(['print -dpdf ' M_.fname '_SmoothedObservationErrors' int2str(1)]);
                 saveas(hh,[M_.fname '_SmoothedObservationErrors' int2str(1) '.fig']);
             end
-            if options_.nograph, close(hh), end
             if options_.TeX
                 fprintf(fidTeX,'\\begin{figure}[H]\n');
                 for jj = 1:number_of_plots_to_draw
@@ -1196,7 +1208,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             end
         else
             for plt = 1:nbplt
-                hh = figure('Name','Smoothed observation errors');
+                if options_.nograph
+                    hh = figure('Name','Smoothed observation errors','Visible','off');
+                else
+                    hh = figure('Name','Smoothed observation errors');
+                end
                 set(0,'CurrentFigure',hh)
                 NAMES = [];
                 if options_.TeX, TeXNAMES = []; end
@@ -1233,7 +1249,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                     eval(['print -dpdf ' M_.fname '_SmoothedObservationErrors' int2str(plt)]);
                     saveas(hh,[M_.fname '_SmoothedObservationErrors' int2str(plt) '.fig']);
                 end
-                if options_.nograph, close(hh), end
                 if options_.TeX
                     fprintf(fidTeX,'\\begin{figure}[H]\n');
                     for jj = 1:nstar
@@ -1260,7 +1275,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
         fprintf(fidTeX,' \n');
     end    
     if nbplt == 1
-        hh = figure('Name','Historical and smoothed variables');
+        if options_.nograph
+            hh = figure('Name','Historical and smoothed variables','Visible','off');
+        else
+            hh = figure('Name','Historical and smoothed variables');
+        end
         NAMES = [];
         if options_.TeX, TeXNAMES = []; end
         for i=1:n_varobs
@@ -1296,7 +1315,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(1)]);
             saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(1) '.fig']);
         end
-        if options_.nograph, close(hh), end
         if options_.TeX
             fprintf(fidTeX,'\\begin{figure}[H]\n');
             for jj = 1:n_varobs
@@ -1313,7 +1331,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
         end    
     else
         for plt = 1:nbplt-1
-            hh = figure('Name','Historical and smoothed variables');
+            if options_.nograph
+                hh = figure('Name','Historical and smoothed variables','Visible','off');
+            else
+                hh = figure('Name','Historical and smoothed variables');
+            end
             set(0,'CurrentFigure',hh)
             NAMES = [];
             if options_.TeX, TeXNAMES = []; end
@@ -1351,7 +1373,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                 eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(plt)]);
                 saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(plt) '.fig']);
             end
-            if options_.nograph, close(hh), end
             if options_.TeX
                 fprintf(fidTeX,'\\begin{figure}[H]\n');
                 for jj = 1:nstar
@@ -1365,7 +1386,11 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
                 fprintf(fidTeX,'\n');
             end    
         end
-        hh = figure('Name','Historical and smoothed variables');
+        if options_.nograph
+            hh = figure('Name','Historical and smoothed variables','Visible','off');
+        else
+            hh = figure('Name','Historical and smoothed variables');
+        end
         set(0,'CurrentFigure',hh)
         NAMES = [];
         if options_.TeX, TeXNAMES = []; end
@@ -1407,7 +1432,6 @@ if (~((any(bayestopt_.pshape > 0) && options_.mh_replic) || (any(bayestopt_.psha
             eval(['print -dpdf ' M_.fname '_HistoricalAndSmoothedVariables' int2str(nbplt)]);
             saveas(hh,[M_.fname '_HistoricalAndSmoothedVariables' int2str(nbplt) '.fig']);
         end
-        if options_.nograph, close(hh), end
         if options_.TeX
             fprintf(fidTeX,'\\begin{figure}[H]\n');
             for jj = 1:size(NAMES,1);
-- 
GitLab