Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java @ 2242:7e8e1d5384c0
Further refactoring of XYChartGenerator / ChartGenerator with the result, that timerange charts are now able to display lines.
flys-artifacts/trunk@3890 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 03 Feb 2012 09:39:22 +0000 |
parents | 23c7c51df772 |
children | 6aeb71517136 |
comparison
equal
deleted
inserted
replaced
2241:2b232871ba28 | 2242:7e8e1d5384c0 |
---|---|
9 | 9 |
10 import org.apache.log4j.Logger; | 10 import org.apache.log4j.Logger; |
11 | 11 |
12 import org.jfree.chart.ChartFactory; | 12 import org.jfree.chart.ChartFactory; |
13 import org.jfree.chart.JFreeChart; | 13 import org.jfree.chart.JFreeChart; |
14 import org.jfree.chart.axis.NumberAxis; | |
15 import org.jfree.chart.plot.XYPlot; | 14 import org.jfree.chart.plot.XYPlot; |
16 | 15 |
17 import org.jfree.data.Range; | 16 import org.jfree.data.Range; |
18 import org.jfree.data.time.TimeSeriesCollection; | 17 import org.jfree.data.time.TimeSeriesCollection; |
18 import org.jfree.data.general.Series; | |
19 import org.jfree.data.xy.XYDataset; | 19 import org.jfree.data.xy.XYDataset; |
20 | 20 |
21 | 21 |
22 /** | 22 /** |
23 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | 23 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
58 mergeRanges(tsc); | 58 mergeRanges(tsc); |
59 } | 59 } |
60 | 60 |
61 | 61 |
62 @Override | 62 @Override |
63 public XYDataset[] getDatasets() { | |
64 return (XYDataset[]) | |
65 datasets.toArray(new XYDataset[datasets.size()]); | |
66 } | |
67 | |
68 | |
69 @Override | |
63 public boolean isEmpty() { | 70 public boolean isEmpty() { |
64 return datasets.isEmpty(); | 71 return datasets.isEmpty(); |
65 } | 72 } |
66 | 73 |
67 | 74 |
75 @Override | |
76 public void setRange(Range range) { | |
77 this.range = range; | |
78 } | |
79 | |
80 | |
81 @Override | |
82 public Range getRange() { | |
83 return range; | |
84 } | |
85 | |
86 | |
87 @Override | |
88 public void setPlotAxisIndex(int plotAxisIndex) { | |
89 this.plotAxisIndex = plotAxisIndex; | |
90 } | |
91 | |
92 | |
93 @Override | |
94 public int getPlotAxisIndex() { | |
95 return plotAxisIndex; | |
96 } | |
97 | |
98 | |
99 @Override | |
100 public boolean isArea(XYDataset dataset) { | |
101 logger.warn("This AxisDataset doesn't support Areas yet!"); | |
102 return false; | |
103 } | |
104 | |
105 | |
68 protected void mergeRanges(TimeSeriesCollection dataset) { | 106 protected void mergeRanges(TimeSeriesCollection dataset) { |
69 logger.debug("Range after merging: " + range); | 107 logger.debug("Range after merging: " + range); |
70 | 108 |
71 Range[] xyRanges = ChartHelper.getRanges(dataset); | 109 Range[] xyRanges = ChartHelper.getRanges(dataset); |
72 range = Range.combine(range, xyRanges[1]); | 110 range = Range.combine(range, xyRanges[1]); |
82 Logger.getLogger(TimeseriesChartGenerator.class); | 120 Logger.getLogger(TimeseriesChartGenerator.class); |
83 | 121 |
84 | 122 |
85 protected Map<Integer, Range> xRanges; | 123 protected Map<Integer, Range> xRanges; |
86 | 124 |
125 protected Map<Integer, Range> yRanges; | |
126 | |
87 | 127 |
88 | 128 |
89 /** | 129 /** |
90 * The default constructor that initializes internal datastructures. | 130 * The default constructor that initializes internal datastructures. |
91 */ | 131 */ |
92 public TimeseriesChartGenerator() { | 132 public TimeseriesChartGenerator() { |
93 super(); | 133 super(); |
94 | 134 |
95 xRanges = new HashMap<Integer, Range>(); | 135 xRanges = new HashMap<Integer, Range>(); |
136 yRanges = new HashMap<Integer, Range>(); | |
96 } | 137 } |
97 | 138 |
98 | 139 |
99 | 140 |
100 @Override | 141 @Override |
122 | 163 |
123 return chart; | 164 return chart; |
124 } | 165 } |
125 | 166 |
126 | 167 |
168 @Override | |
169 protected Series getSeriesOf(XYDataset dataset, int idx) { | |
170 return ((TimeSeriesCollection) dataset).getSeries(idx); | |
171 } | |
172 | |
173 | |
174 @Override | |
175 protected void setXRange(int axis, Range range) { | |
176 xRanges.put(Integer.valueOf(axis), range); | |
177 } | |
178 | |
179 | |
180 @Override | |
181 protected void setYRange(int axis, Range range) { | |
182 yRanges.put(Integer.valueOf(axis), range); | |
183 } | |
184 | |
185 | |
127 /** | 186 /** |
128 * This method creates new instances of TimeseriesAxisDataset. | 187 * This method creates new instances of TimeseriesAxisDataset. |
129 * | 188 * |
130 * @param idx The symbol for the new TimeseriesAxisDataset. | 189 * @param idx The symbol for the new TimeseriesAxisDataset. |
131 */ | 190 */ |
151 } | 210 } |
152 | 211 |
153 xRanges.put(index, range); | 212 xRanges.put(index, range); |
154 } | 213 } |
155 } | 214 } |
156 | |
157 | |
158 protected void addDatasets(XYPlot plot) { | |
159 logger.warn("TODO: IMPLEMENT ME!"); | |
160 } | |
161 } | 215 } |
162 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 216 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |