From 4083eeee521e8f7367073c50955599a3ee72bdc7 Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Tue, 20 Oct 2015 12:58:30 +0200
Subject: [PATCH] when plotting series that are all zeros, set the y range

---
 src/@graph/writeGraphFile.m | 10 ++++++++++
 src/@report_series/isZero.m | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 src/@report_series/isZero.m

diff --git a/src/@graph/writeGraphFile.m b/src/@graph/writeGraphFile.m
index c5dbfda..14f7de4 100644
--- a/src/@graph/writeGraphFile.m
+++ b/src/@graph/writeGraphFile.m
@@ -154,6 +154,16 @@ else
 end
 
 if isempty(o.yrange)
+    nonzeroseries = false;
+    for i=1:ne
+        if ~o.series{i}.isZero()
+            nonzeroseries = true;
+            break;
+        end
+    end
+    if ~nonzeroseries
+        fprintf(fid, 'ymin=-1,\nymax=1,\n');
+    end
     if o.yAxisTight
         fprintf(fid, 'enlarge y limits=false,\n');
     else
diff --git a/src/@report_series/isZero.m b/src/@report_series/isZero.m
new file mode 100644
index 0000000..5982efe
--- /dev/null
+++ b/src/@report_series/isZero.m
@@ -0,0 +1,32 @@
+function tf = isZero(o)
+%function o = isZero(o)
+% Write the tikz file that contains the graph
+%
+% INPUTS
+%   o   [report_series] report_series object
+%
+% OUTPUTS
+%   o   [report_series] report_series object
+%
+% SPECIAL REQUIREMENTS
+%   none
+
+% Copyright (C) 2015 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare is 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.
+%
+% Dynare 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.
+%
+% You should have received a copy of the GNU General Public License
+% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+
+tf = all(o.data.data == 0);
+end
-- 
GitLab