Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/chart/AbstractHistogram.java @ 629:d08b9ba148c5
Implemented logic to adjust number of bins corresponding to user input.
gnv-artifacts/trunk@706 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Feb 2010 14:30:52 +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 :