Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractXYLineChart.java @ 327:22a6493e8460
New options in chart template: visibility of lines and points in charts and point's size.
gnv-artifacts/trunk@393 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 02 Dec 2009 10:50:12 +0000 |
parents | 63f8b3fb7d9a |
children | 1c427acb6c76 |
comparison
equal
deleted
inserted
replaced
326:37847d724fc9 | 327:22a6493e8460 |
---|---|
1 package de.intevation.gnv.chart; | 1 package de.intevation.gnv.chart; |
2 | 2 |
3 import java.awt.Color; | 3 import java.awt.Color; |
4 import java.awt.geom.Ellipse2D; | |
4 import java.text.NumberFormat; | 5 import java.text.NumberFormat; |
5 import java.util.Collection; | 6 import java.util.Collection; |
6 import java.util.Iterator; | 7 import java.util.Iterator; |
7 import java.util.Locale; | 8 import java.util.Locale; |
8 | 9 |
14 import org.jfree.chart.axis.NumberAxis; | 15 import org.jfree.chart.axis.NumberAxis; |
15 import org.jfree.chart.axis.NumberTickUnit; | 16 import org.jfree.chart.axis.NumberTickUnit; |
16 import org.jfree.chart.axis.AxisLocation; | 17 import org.jfree.chart.axis.AxisLocation; |
17 import org.jfree.chart.plot.PlotOrientation; | 18 import org.jfree.chart.plot.PlotOrientation; |
18 import org.jfree.chart.plot.XYPlot; | 19 import org.jfree.chart.plot.XYPlot; |
19 import org.jfree.chart.renderer.xy.StandardXYItemRenderer; | 20 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; |
20 import org.jfree.data.general.Series; | 21 import org.jfree.data.general.Series; |
21 | 22 |
22 import de.intevation.gnv.geobackend.base.Result; | 23 import de.intevation.gnv.geobackend.base.Result; |
23 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; | 24 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; |
24 | 25 |
26 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> | 27 * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> |
27 */ | 28 */ |
28 public abstract class AbstractXYLineChart | 29 public abstract class AbstractXYLineChart |
29 extends AbstractChart | 30 extends AbstractChart |
30 { | 31 { |
31 private static Logger log = Logger.getLogger(AbstractXYLineChart.class); | 32 private static Logger log = Logger.getLogger(AbstractXYLineChart.class); |
32 | 33 |
33 protected static Color[] COLOR = { | 34 protected static Color[] COLOR = { |
34 Color.black, Color.red, Color.green, Color.blue | 35 Color.black, Color.red, Color.green, Color.blue |
35 }; | 36 }; |
36 | 37 |
97 if (idx % 2 != 0) | 98 if (idx % 2 != 0) |
98 plot.setRangeAxisLocation(idx, AxisLocation.BOTTOM_OR_RIGHT); | 99 plot.setRangeAxisLocation(idx, AxisLocation.BOTTOM_OR_RIGHT); |
99 else | 100 else |
100 plot.setRangeAxisLocation(idx, AxisLocation.BOTTOM_OR_LEFT); | 101 plot.setRangeAxisLocation(idx, AxisLocation.BOTTOM_OR_LEFT); |
101 plot.mapDatasetToRangeAxis(idx, idx); | 102 plot.mapDatasetToRangeAxis(idx, idx); |
103 } | |
102 | 104 |
103 StandardXYItemRenderer renderer = new StandardXYItemRenderer(); | 105 |
104 renderer.setSeriesPaint(idx, COLOR[idx%COLOR.length]); | 106 protected void adjustRenderer( |
107 int idx, | |
108 boolean renderLines, | |
109 boolean renderShapes | |
110 ) { | |
111 XYLineAndShapeRenderer renderer = null; | |
112 XYPlot plot = chart.getXYPlot(); | |
113 | |
114 try { | |
115 renderer = (XYLineAndShapeRenderer)((XYLineAndShapeRenderer) | |
116 (plot.getRenderer())).clone(); | |
117 } | |
118 catch (CloneNotSupportedException cnse) { | |
119 log.warn("Error while cloning renderer.", cnse); | |
120 renderer = new XYLineAndShapeRenderer(renderLines, renderShapes); | |
121 renderer.setBaseShape(new Ellipse2D.Double(-2,-2,4,4)); | |
122 } | |
123 | |
124 renderer.setSeriesPaint(0, COLOR[idx%COLOR.length]); | |
125 renderer.setSeriesShapesVisible(0, renderShapes); | |
126 renderer.setSeriesLinesVisible(0, renderLines); | |
105 plot.setRenderer(idx, renderer); | 127 plot.setRenderer(idx, renderer); |
106 } | 128 } |
107 | 129 |
108 | 130 |
109 protected void localizeRangeAxis(Axis axis, Locale locale) { | 131 protected void localizeRangeAxis(Axis axis, Locale locale) { |