diff gnv-artifacts/src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java @ 364:2413273f1c13

Workarround: Store lower and upper bounds of data while iterating over all data and set the max range of axes with these information. JFreeCharts method NumberAxis.setAutoRange(true) doesn't seem to work properly. gnv-artifacts/trunk@439 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 16 Dec 2009 11:58:44 +0000
parents 4e6aa2a8c4c0
children f14c5d1b5b71
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java	Wed Dec 16 08:05:25 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/TimeSeriesChart.java	Wed Dec 16 11:58:44 2009 +0000
@@ -67,6 +67,7 @@
         this.linesVisible     = linesVisible;
         this.shapesVisible    = shapesVisible;
         this.datasets         = new HashMap();
+        this.ranges           = new HashMap();
     }
 
 
@@ -93,6 +94,7 @@
         Iterator   iter       = resultSet.iterator();
         Result     row        = null;
         String     seriesName = null;
+        String     parameter  = null;
         TimeSeries series     = null;
 
         int  idx       = 0;
@@ -119,7 +121,7 @@
                     startDate = results[startPos].getDate("XORDINATE");
                     endDate   = results[endPos-1].getDate("XORDINATE");
                     addGaps(results,series,startDate,endDate,startPos,endPos);
-                    addSeries(series, seriesName, idx);
+                    addSeries(series, parameter, idx);
 
                     startPos  = endPos + 1;
                 }
@@ -134,12 +136,14 @@
                     breakPoint2,
                     breakPoint3
                 );
+                parameter = findParameter(seriesName);
 
                 log.debug("next dataset is '" + seriesName + "'");
                 series = new TimeSeries(seriesName, Minute.class);
             }
 
             addValue(row, series);
+            storeMaxRange(row.getDouble("YORDINATE"), parameter);
             endPos++;
         }
 
@@ -147,7 +151,7 @@
         startDate = results[startPos].getDate("XORDINATE");
         endDate = results[endPos-1].getDate("XORDINATE");
         addGaps(results, series, startDate, endDate, startPos, endPos);
-        addSeries(series, seriesName, idx);
+        addSeries(series, parameter, idx);
 
         addDatasets();
     }
@@ -161,8 +165,8 @@
     }
 
 
-    protected void addSeries(Series series, String label, int idx) {
-        log.debug("add series (" + label + ")to timeseries chart");
+    protected void addSeries(Series series, String parameter, int idx) {
+        log.debug("add series (" + parameter + ")to timeseries chart");
 
         if (series == null) {
             log.warn("no data to add");
@@ -171,7 +175,6 @@
 
         TimeSeriesCollection tsc = null;
 
-        String parameter = findParameter(label);
         if (datasets.containsKey(parameter))
             tsc = (TimeSeriesCollection) datasets.get(parameter);
         else

http://dive4elements.wald.intevation.org