Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java @ 379:c21fb8de54f8
Enabled the FLYSArtifact to handle an array of inserted WQ values (without given ranges).
flys-artifacts/trunk@1793 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 02 May 2011 15:17:04 +0000 |
parents | 60f63539d004 |
children | 0385bcc4229a |
line wrap: on
line source
package de.intevation.flys.exports; import java.awt.Color; import java.io.IOException; import org.apache.log4j.Logger; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import de.intevation.flys.exports.ChartExportHelper; /** * An abstract base class for creating XY charts. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public abstract class XYChartGenerator extends ChartGenerator { /** The logger that is used in this generator.*/ private static Logger logger = Logger.getLogger(ChartGenerator.class); /** * Returns the title of a chart. * * @return the title of a chart. */ protected abstract String getChartTitle(); /** * Returns the X-Axis label of a chart. * * @return the X-Axis label of a chart. */ protected abstract String getXAxisLabel(); /** * Returns the Y-Axis label of a chart. * * @return the Y-Axis label of a chart. */ protected abstract String getYAxisLabel(); /** * This method is called to add all datasets of a concrete XYChartGenerator * to the JFreeChart. * * @param chart The JFreeChart object. */ protected abstract void addDatasets(JFreeChart chart); public void generate() throws IOException { logger.debug("XYChartGenerator.generate"); JFreeChart chart = ChartFactory.createXYLineChart( getChartTitle(), getXAxisLabel(), getYAxisLabel(), null, PlotOrientation.VERTICAL, true, false, false); chart.setBackgroundPaint(Color.WHITE); chart.getPlot().setBackgroundPaint(Color.WHITE); addDatasets(chart); adjustAxes((XYPlot) chart.getPlot()); ChartExportHelper.exportImage( out, chart, "png", 600, 400); } /** * Adjusts the axes of a plot. * * @param plot The XYPlot of the chart. */ protected void adjustAxes(XYPlot plot) { NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); yAxis.setAutoRangeIncludesZero(false); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :