diff --git a/matlab/reporting/@graph/writeGraphFile.m b/matlab/reporting/@graph/writeGraphFile.m index b3794168f..2b706a8fe 100644 --- a/matlab/reporting/@graph/writeGraphFile.m +++ b/matlab/reporting/@graph/writeGraphFile.m @@ -183,7 +183,7 @@ end for i=1:ne o.series{i}.writeSeriesForGraph(fid, dd); if o.showLegend - le = o.series{i}.getTexName(); + le = o.series{i}.getNameForLegend(); if ~isempty(le) fprintf(fid, '\\addlegendentry{%s}\n', le); end diff --git a/matlab/reporting/@report_series/getNameForLegend.m b/matlab/reporting/@report_series/getNameForLegend.m new file mode 100644 index 000000000..0748a8de2 --- /dev/null +++ b/matlab/reporting/@report_series/getNameForLegend.m @@ -0,0 +1,31 @@ +function s = getNameForLegend(o) +%function s = getNameForLegend(o) + +% Copyright (C) 2014 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 . + +if isempty(o.data) || ~o.graphShowInLegend + % for the case when there is no data in the series + % e.g. graphVline was passed + % or when the user does not want this series shown in + % the legend + s = ''; +else + assert(size(o.data,2) == 1); + s = o.data.tex{:}; +end +end \ No newline at end of file diff --git a/matlab/reporting/@report_series/report_series.m b/matlab/reporting/@report_series/report_series.m index 7c708df18..0fcb61137 100644 --- a/matlab/reporting/@report_series/report_series.m +++ b/matlab/reporting/@report_series/report_series.m @@ -41,6 +41,8 @@ o.graphLineColor = 'black'; o.graphLineStyle = 'solid'; o.graphLineWidth = 0.5; +o.graphShowInLegend = true; + o.graphMarker = ''; o.graphMarkerEdgeColor = ''; o.graphMarkerFaceColor = ''; diff --git a/matlab/reporting/@report_series/writeSeriesForGraph.m b/matlab/reporting/@report_series/writeSeriesForGraph.m index 315d5c840..0d3123f74 100644 --- a/matlab/reporting/@report_series/writeSeriesForGraph.m +++ b/matlab/reporting/@report_series/writeSeriesForGraph.m @@ -37,6 +37,7 @@ end assert(ischar(o.graphMiscTikzAddPlotOptions), ['@report_series.writeSeriesForGraph: ' ... 'graphMiscTikzAddPlotOptions file must be a string']); +assert(islogical(o.graphShowInLegend), '@graph.graph: graphShowInLegend must be either true or false'); % Line valid_graphLineColor = {'red', 'green', 'blue', 'cyan ', 'magenta', 'yellow', ...