# HG changeset patch # User Ingo Weinzierl # Date 1277743683 0 # Node ID 5207d09e4af6b05bfa0ae5cb3fbe58627b50a5a9 # Parent faae3fc7b792e6b56b5ef27eaa4178d5978dff3d Fixed range calculation for y-axes in the base chart class (issue233). gnv-artifacts/trunk@1234 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r faae3fc7b792 -r 5207d09e4af6 gnv-artifacts/ChangeLog --- a/gnv-artifacts/ChangeLog Mon Jun 28 10:48:57 2010 +0000 +++ b/gnv-artifacts/ChangeLog Mon Jun 28 16:48:03 2010 +0000 @@ -1,3 +1,11 @@ +2010-06-28 Ingo Weinzierl + + Issue233 + + * src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java: Fixed + the range calculation for y-axes if there is only a single datapoint + existing in the chart. + 2010-06-28 Tim Englich Issue283: diff -r faae3fc7b792 -r 5207d09e4af6 gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java Mon Jun 28 10:48:57 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java Mon Jun 28 16:48:03 2010 +0000 @@ -207,7 +207,18 @@ // litte workarround to adjust the max range of axes. // NumberAxis.setAutoRange(true) doesn't seem to work properly. Range yRange = (Range) ranges.get(seriesKey); - yAxis.setRange(Range.expand(yRange, LOWER_MARGIN, UPPER_MARGIN)); + double lo = yRange.getLowerBound(); + double hi = yRange.getUpperBound(); + + if (lo == hi) { + yRange = new Range( + lo - (lo / 100 * LOWER_MARGIN), + hi + (hi / 100 * UPPER_MARGIN)); + } + else { + yRange = Range.expand(yRange, LOWER_MARGIN, UPPER_MARGIN); + } + yAxis.setRange(yRange); log.debug("Max Range of dataset is: " + yRange.toString()); if (seriesKey.contains("richtung")) {