Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/ChartArea.java @ 3246:229e9b27ce15
New Distance helper module.
flys-artifacts/trunk@4879 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 06 Jul 2012 09:34:51 +0000 |
parents | 1dca41dba135 |
children | 2aca387333d6 |
line wrap: on
line source
package de.intevation.flys.exports; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Paint; import java.awt.Stroke; import java.text.NumberFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.w3c.dom.Document; import org.apache.log4j.Logger; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.LegendItem; import org.jfree.chart.LegendItemCollection; import org.jfree.chart.annotations.XYBoxAnnotation; import org.jfree.chart.annotations.XYLineAnnotation; import org.jfree.chart.annotations.XYTextAnnotation; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.Marker; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.data.Range; import org.jfree.data.general.Series; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; import org.jfree.data.xy.XYDataset; import org.jfree.ui.TextAnchor; import de.intevation.artifactdatabase.state.ArtifactAndFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.jfree.Bounds; import de.intevation.flys.jfree.DoubleBounds; import de.intevation.flys.jfree.FLYSAnnotation; import de.intevation.flys.jfree.StickyAxisAnnotation; import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation; import de.intevation.flys.jfree.StyledAreaSeriesCollection; import de.intevation.flys.jfree.StyledXYSeries; import de.intevation.flys.themes.ThemeAccess; import de.intevation.flys.utils.ThemeUtil; import de.intevation.flys.artifacts.model.HYKFactory; import org.json.JSONArray; import org.json.JSONException; /** Two Ranges that span a rectangular area. */ public class ChartArea { protected Range xRange; protected Range yRange; public ChartArea(Range rangeX, Range rangeY) { this.xRange = rangeX; this.yRange = rangeY; } public ChartArea(ValueAxis axisX, ValueAxis axisY) { this.xRange = axisX.getRange(); this.yRange = axisY.getRange(); } public double ofLeft(double percent) { return xRange.getLowerBound() + xRange.getLength() * percent; } public double ofRight(double percent) { return xRange.getUpperBound() - xRange.getLength() * percent; } public double ofGround(double percent) { return yRange.getLowerBound() + yRange.getLength() * percent; } public double atTop() { return yRange.getUpperBound(); } public double atGround() { return yRange.getLowerBound(); } public double atRight() { return xRange.getUpperBound(); } public double atLeft() { return xRange.getLowerBound(); } public double above(double percent, double base) { return base + yRange.getLength() * percent; } }