Mercurial > dive4elements > river
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 } |