Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java @ 3236:b0eee4c1eaa0
Implemented mergeRanges to combine y bounds in timeseries charts.
flys-artifacts/trunk@4867 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Tue, 03 Jul 2012 15:27:07 +0000 |
parents | ed07dd55f487 |
children | 1dca41dba135 |
comparison
equal
deleted
inserted
replaced
3235:07231dcd5755 | 3236:b0eee4c1eaa0 |
---|---|
141 return false; | 141 return false; |
142 } | 142 } |
143 | 143 |
144 | 144 |
145 protected void mergeRanges(TimeSeriesCollection dataset) { | 145 protected void mergeRanges(TimeSeriesCollection dataset) { |
146 logger.debug("Range after merging: " + range); | 146 logger.debug("Range before merging: " + range); |
147 | 147 Range subRange = null; |
148 Bounds[] xyRanges = ChartHelper.getBounds(dataset); | 148 |
149 | 149 // Determine min/max of range axis. |
150 // TODO COMBINE BOUNDS! | 150 for (int i = 0; i < dataset.getSeriesCount(); i++) { |
151 | 151 double min = 0; |
152 logger.debug("Range after merging: " + range); | 152 double max = 0; |
153 TimeSeries series = dataset.getSeries(i); | |
154 for (int j = 0; j < series.getItemCount(); j++) { | |
155 double tmp = series.getValue(j).doubleValue(); | |
156 min = tmp < min ? tmp : min; | |
157 max = tmp > max ? tmp : max; | |
158 } | |
159 if (subRange != null) { | |
160 subRange = new Range( | |
161 min < subRange.getLowerBound() ? | |
162 min : subRange.getLowerBound(), | |
163 max > subRange.getUpperBound() ? | |
164 max : subRange.getUpperBound()); | |
165 } | |
166 else { | |
167 subRange = new Range(min, max); | |
168 } | |
169 } | |
170 | |
171 // Avoid merging NaNs, as they take min/max place forever. | |
172 if (subRange == null || | |
173 Double.isNaN(subRange.getLowerBound()) || | |
174 Double.isNaN(subRange.getUpperBound())) { | |
175 return; | |
176 } | |
177 if (range == null) { | |
178 range = subRange; | |
179 return; | |
180 } | |
181 range = Range.combine(range, subRange); | |
153 } | 182 } |
154 | 183 |
155 } // end of TimeseriesAxisDataset class | 184 } // end of TimeseriesAxisDataset class |
156 | 185 |
157 | 186 |