Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/exports/DischargeGenerator.java @ 8338:ac7cb15e1946
Scale second W-axis in cm according to first axis, which is expanded relative to the data, and set bounds for zooming purposes (plus a bit of cleanup in DiagramGenerator).
author | "Tom Gottfried <tom@intevation.de>" |
---|---|
date | Fri, 26 Sep 2014 18:23:45 +0200 |
parents | e87a993c6611 |
children | a82f24b773e7 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/DischargeGenerator.java Fri Sep 26 17:22:51 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/DischargeGenerator.java Fri Sep 26 18:23:45 2014 +0200 @@ -12,6 +12,7 @@ import org.apache.log4j.Logger; import org.dive4elements.river.exports.injector.InjectorConstants; import org.dive4elements.river.jfree.AxisDataset; +import org.dive4elements.river.jfree.DoubleBounds; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.XYPlot; import org.jfree.data.Range; @@ -53,13 +54,19 @@ return; } - Range range = inCm(data.getRange(), pnpValue); + Range axisRange = inCm( + plot.getRangeAxis(wAxisIndex).getRange(), + pnpValue + ); + Range dataRange = inCm(data.getRange(), pnpValue); // Do we have an index for W in cm? NumberAxis wInCmAxis = createWinCMAxis(wAxisIndex); - wInCmAxis.setRange(range.getLowerBound(), range.getUpperBound()); + wInCmAxis.setRange(axisRange); - plot.setRangeAxis(plot.getRangeAxisCount(), wInCmAxis); + int wInCmAxisIndex = plot.getRangeAxisCount(); + plot.setRangeAxis(wInCmAxisIndex, wInCmAxis); + combineYBounds(new DoubleBounds(dataRange), wInCmAxisIndex); } private static Range inCm(Range r, double pnpValue) {