comparison flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java @ 923:7ca4a287cd0e

#135 Modified the way to store datasets for different chart axes. flys-artifacts/trunk@2275 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 01 Jul 2011 11:16:11 +0000
parents f959faaa7c4a
children f7761914f745
comparison
equal deleted inserted replaced
922:95356252c309 923:7ca4a287cd0e
2 2
3 import java.awt.Color; 3 import java.awt.Color;
4 4
5 import org.apache.log4j.Logger; 5 import org.apache.log4j.Logger;
6 6
7 import org.jfree.chart.JFreeChart;
8 import org.jfree.chart.plot.XYPlot; 7 import org.jfree.chart.plot.XYPlot;
9 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; 8 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
10 import org.jfree.data.xy.XYSeries; 9 import org.jfree.data.xy.XYSeries;
11 import org.jfree.data.xy.XYSeriesCollection;
12 10
13 import org.w3c.dom.Document; 11 import org.w3c.dom.Document;
14 12
15 import de.intevation.artifacts.Artifact; 13 import de.intevation.artifacts.Artifact;
16 14
31 { 29 {
32 private static Logger logger = 30 private static Logger logger =
33 Logger.getLogger(DischargeLongitudinalSectionGenerator.class); 31 Logger.getLogger(DischargeLongitudinalSectionGenerator.class);
34 32
35 33
36 /** The storage for the corrected W series to be drawn in this chart.*/
37 protected XYSeriesCollection cw;
38
39 34
40 public DischargeLongitudinalSectionGenerator() { 35 public DischargeLongitudinalSectionGenerator() {
41 super(); 36 super();
42
43 this.cw = new XYSeriesCollection();
44 }
45
46
47 @Override
48 public void addDatasets(JFreeChart chart) {
49 super.addDatasets(chart);
50
51 XYPlot plot = (XYPlot) chart.getPlot();
52
53 plot.setDataset(2, cw);
54 } 37 }
55 38
56 39
57 @Override 40 @Override
58 protected void adjustPlot(XYPlot plot) { 41 protected void adjustPlot(XYPlot plot) {
59 super.adjustPlot(plot); 42 super.adjustPlot(plot);
60 43
61 // TODO REMOVE THIS CODE, IF WE HAVE INTRODUCED THEMES! 44 //// TODO REMOVE THIS CODE, IF WE HAVE INTRODUCED THEMES!
62 XYLineAndShapeRenderer rw = (XYLineAndShapeRenderer) 45 //XYLineAndShapeRenderer rw = (XYLineAndShapeRenderer)
63 plot.getRendererForDataset(w); 46 // plot.getRendererForDataset(w);
64 47
65 XYLineAndShapeRenderer rcw = null; 48 //XYLineAndShapeRenderer rcw = null;
66 try { 49 //try {
67 rcw = (XYLineAndShapeRenderer) rw.clone(); 50 // rcw = (XYLineAndShapeRenderer) rw.clone();
68 } 51 //}
69 catch (Exception e) { 52 //catch (Exception e) {
70 logger.error(e, e); 53 // logger.error(e, e);
71 } 54 //}
72 55
73 int cwNum = cw.getSeriesCount(); 56 //int cwNum = cw.getSeriesCount();
74 57
75 for (int i = 0; i < cwNum; i++) { 58 //for (int i = 0; i < cwNum; i++) {
76 rcw.setSeriesPaint(i, Color.RED); 59 // rcw.setSeriesPaint(i, Color.RED);
77 } 60 //}
78 61
79 plot.setRenderer(2, rcw); 62 //plot.setRenderer(2, rcw);
80 } 63 }
81
82
83 protected void adjustAxes(XYPlot plot) {
84 super.adjustAxes(plot);
85
86 plot.mapDatasetToRangeAxis(2, 0);
87 }
88
89 64
90 65
91 @Override 66 @Override
92 public void doOut(Artifact artifact, Facet facet, Document attr) { 67 public void doOut(Artifact artifact, Facet facet, Document attr) {
93 logger.debug("DischargeLongitudinalSectionGenerator.doOut"); 68 logger.debug("DischargeLongitudinalSectionGenerator.doOut");
133 if (size > 0) { 108 if (size > 0) {
134 XYSeries series = new XYSeries(getSeriesNameForCorrected(wqckms, "W")); 109 XYSeries series = new XYSeries(getSeriesNameForCorrected(wqckms, "W"));
135 for (int i = 0; i < size; i++) { 110 for (int i = 0; i < size; i++) {
136 series.add(wqckms.getKms(i), wqckms.getC(i)); 111 series.add(wqckms.getKms(i), wqckms.getC(i));
137 } 112 }
138 cw.addSeries(series); 113
114 addFirstAxisSeries(series);
139 } 115 }
140 116
141 if (wqckms.guessWaterIncreasing()) { 117 if (wqckms.guessWaterIncreasing()) {
142 setInverted(true); 118 setInverted(true);
143 } 119 }

http://dive4elements.wald.intevation.org