diff gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChart.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 07a64cfafdf1
children 061355435075
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java	Wed Dec 16 08:05:25 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChart.java	Wed Dec 16 11:58:44 2009 +0000
@@ -56,6 +56,7 @@
         this.linesVisible     = linesVisible;
         this.shapesVisible    = shapesVisible;
         this.datasets         = new HashMap();
+        this.ranges           = new HashMap();
     }
 
 
@@ -69,6 +70,7 @@
         Iterator iter       = resultSet.iterator();
         Result   row        = null;
         String   seriesName = null;
+        String   parameter  = null;
         XYSeries series     = null;
 
         int idx           = 0;
@@ -92,7 +94,7 @@
 
                 if(series != null) {
                     gapDetection(results, series, startPos, endPos);
-                    addSeries(series, seriesName, idx);
+                    addSeries(series, parameter, idx);
 
                     startPos = endPos +1;
                 }
@@ -107,12 +109,14 @@
                     breakPoint2,
                     breakPoint3
                 );
+                parameter = findParameter(seriesName);
 
                 log.debug("next dataset is '" + seriesName + "'");
                 series = new XYSeries(seriesName);
             }
 
             addValue(row, series);
+            storeMaxRange(row.getDouble("YORDINATE"), parameter);
             endPos++;
         }
 
@@ -120,7 +124,7 @@
             return;
 
         gapDetection(results, series, startPos, endPos);
-        addSeries(series, seriesName, idx);
+        addSeries(series, parameter, idx);
 
         addDatasets();
     }
@@ -149,8 +153,8 @@
     }
 
 
-    protected void addSeries(Series series, String label, int idx) {
-        log.debug("add series (" + label + ")to chart");
+    protected void addSeries(Series series, String parameter, int idx) {
+        log.debug("add series (" + parameter + ")to chart");
 
         if (series == null) {
             log.warn("no data to add");
@@ -158,7 +162,6 @@
         }
 
         XYSeriesCollection xysc = null;
-        String parameter = findParameter(label);
 
         if (datasets.containsKey(parameter))
             xysc = (XYSeriesCollection) datasets.get(parameter);

http://dive4elements.wald.intevation.org