Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java @ 841:9cbc8343a04d
Implemented a workaround to avoid an amount of cut axis labels in 2D charts (issue163).
gnv-artifacts/trunk@955 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 20 Apr 2010 08:45:01 +0000 |
parents | 3f447e92024a |
children | 31f63a14a2c3 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java Tue Apr 20 07:19:05 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalCrossSectionChart.java Tue Apr 20 08:45:01 2010 +0000 @@ -31,6 +31,8 @@ import org.jfree.chart.title.PaintScaleLegend; import org.jfree.chart.title.TextTitle; +import org.jfree.data.Range; + import org.jfree.ui.RectangleEdge; import org.jfree.ui.RectangleInsets; @@ -146,6 +148,11 @@ } } // class LocalizedLabelGenerator + public static double MARGIN_TOP = 0.05d; + public static double MARGIN_BOTTOM = 0.05d; + public static double MARGIN_LEFT = 0.05d; + public static double MARGIN_RIGHT = 0.05d; + /** * JFreeChart object stored at this place after chart creation. */ @@ -309,6 +316,21 @@ chart.addSubtitle(legend); + // XXX Workaround, because Axes labels are cut at the + // left/right/top/bottom edge. The following lines add a white border + // between data area and plot border. + ValueAxis xAxis = plot.getDomainAxis(); + Range xRange = xAxis.getRange(); + xRange = Range.expand(xRange, MARGIN_LEFT, MARGIN_RIGHT); + xAxis.setRange(xRange); + plot.setDomainAxis(xAxis); + + ValueAxis yAxis = plot.getRangeAxis(); + Range yRange = yAxis.getRange(); + yRange = Range.expand(yRange, MARGIN_BOTTOM, MARGIN_TOP); + yAxis.setRange(yRange); + plot.setRangeAxis(yAxis); + return chart; }