comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ChartArea.java @ 3242:1dca41dba135

Move annotation code to base class ChartGenerator flys-artifacts/trunk@4874 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Wed, 04 Jul 2012 22:28:44 +0000
parents
children 2aca387333d6
comparison
equal deleted inserted replaced
3241:da3e58694cae 3242:1dca41dba135
1 package de.intevation.flys.exports;
2
3 import java.awt.BasicStroke;
4 import java.awt.Color;
5 import java.awt.Font;
6 import java.awt.Paint;
7 import java.awt.Stroke;
8
9 import java.text.NumberFormat;
10
11 import java.util.ArrayList;
12 import java.util.HashMap;
13 import java.util.List;
14 import java.util.Map;
15
16 import org.w3c.dom.Document;
17
18 import org.apache.log4j.Logger;
19
20 import org.jfree.chart.ChartFactory;
21 import org.jfree.chart.JFreeChart;
22 import org.jfree.chart.LegendItem;
23 import org.jfree.chart.LegendItemCollection;
24 import org.jfree.chart.annotations.XYBoxAnnotation;
25 import org.jfree.chart.annotations.XYLineAnnotation;
26 import org.jfree.chart.annotations.XYTextAnnotation;
27 import org.jfree.chart.axis.NumberAxis;
28 import org.jfree.chart.axis.ValueAxis;
29 import org.jfree.chart.plot.Marker;
30 import org.jfree.chart.plot.PlotOrientation;
31 import org.jfree.chart.plot.XYPlot;
32 import org.jfree.data.Range;
33 import org.jfree.data.general.Series;
34 import org.jfree.data.xy.XYSeries;
35 import org.jfree.data.xy.XYSeriesCollection;
36 import org.jfree.data.xy.XYDataset;
37
38 import org.jfree.ui.TextAnchor;
39
40 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
41 import de.intevation.artifactdatabase.state.Facet;
42
43 import de.intevation.flys.jfree.Bounds;
44 import de.intevation.flys.jfree.DoubleBounds;
45 import de.intevation.flys.jfree.FLYSAnnotation;
46 import de.intevation.flys.jfree.StickyAxisAnnotation;
47 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation;
48 import de.intevation.flys.jfree.StyledAreaSeriesCollection;
49 import de.intevation.flys.jfree.StyledXYSeries;
50
51 import de.intevation.flys.themes.ThemeAccess;
52 import de.intevation.flys.utils.ThemeUtil;
53
54 import de.intevation.flys.artifacts.model.HYKFactory;
55
56 import org.json.JSONArray;
57 import org.json.JSONException;
58
59 /** Two Ranges that span a rectangular area. */
60 public class ChartArea {
61 protected Range xRange;
62 protected Range yRange;
63
64 public ChartArea(Range rangeX, Range rangeY) {
65 this.xRange = rangeX;
66 this.yRange = rangeY;
67 }
68
69 public ChartArea(ValueAxis axisX, ValueAxis axisY) {
70 this.xRange = axisX.getRange();
71 this.yRange = axisY.getRange();
72 }
73
74 public double ofLeft(double percent) {
75 return xRange.getLowerBound()
76 + xRange.getLength() * percent;
77 }
78
79 public double ofRight(double percent) {
80 return xRange.getUpperBound()
81 - xRange.getLength() * percent;
82 }
83
84 public double ofGround(double percent) {
85 return yRange.getLowerBound()
86 + yRange.getLength() * percent;
87 }
88
89 public double atTop() {
90 return yRange.getUpperBound();
91 }
92
93 public double atGround() {
94 return yRange.getLowerBound();
95 }
96
97 public double atRight() {
98 return xRange.getUpperBound();
99 }
100
101 public double atLeft() {
102 return xRange.getLowerBound();
103 }
104
105 public double above(double percent, double base) {
106 return base + yRange.getLength() * percent;
107 }
108 }

http://dive4elements.wald.intevation.org