Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractHistogram.java @ 628:bfe33e658576
Added XSLT sheet to transform palette xml files into a style definition template used for mapfile generation.
gnv-artifacts/trunk@703 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 23 Feb 2010 15:50:15 +0000 |
parents | 65f09139e9b3 |
children | 79401c871da4 |
line wrap: on
line source
package de.intevation.gnv.chart; import java.util.Locale; import org.apache.log4j.Logger; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartTheme; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYBarRenderer; /** * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) */ public abstract class AbstractHistogram implements Chart { private Logger logger = Logger.getLogger(AbstractHistogram.class); protected JFreeChart chart; protected ChartLabels labels; protected ChartTheme theme; protected Object[] data; protected Locale locale; public AbstractHistogram( ChartLabels labels, Object[] data, ChartTheme theme ) { this.labels = labels; this.data = data; this.theme = theme; } public JFreeChart generateChart() { if (chart != null) return chart; chart = ChartFactory.createHistogram( labels.getTitle(), labels.getDomainAxisLabel(), labels.getRangeAxisLabel(), null, PlotOrientation.VERTICAL, true, false, false); applyDatasets(); theme.apply(chart); adjustPlot(); return chart; } protected void adjustPlot() { XYPlot plot = (XYPlot) chart.getPlot(); XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setShadowVisible(false); renderer.setSeriesVisibleInLegend(0, false); } protected abstract void applyDatasets(); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :