package org.docbag.chart.jfree; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.category.CategoryDataset; /** * StackedBarChart * * <p>To create:</p> * * <pre> * new StackedBarChart.Builder(getBarData()).build()); * </pre> * * <p>To create customized:</p> * * <pre> * Map<String, Style> styles = new HashMap<String, Style>(); * styles.put("Label Name", new Style(Color.white)); * new StackedBarChart.Builder(createDataSet()).title("Bar Chart").styles(styles).build(); * </pre> * * @author Jakub Torbicki */ public class StackedBarChart extends BarChart { private StackedBarChart(Builder builder) { super(Type.StackedBarChart, builder); } @Override protected JFreeChart createChart() { if (isThirdDimension()) { return ChartFactory.createStackedBarChart3D(getTitle(), getxAxisLabel(), getyAxisLabel(), dataSet, getPlotOrientation(), isLegend(), isTooltips(), isUrls()); } else { return ChartFactory.createStackedBarChart(getTitle(), getxAxisLabel(), getyAxisLabel(), dataSet, getPlotOrientation(), isLegend(), isTooltips(), isUrls()); } } public static class Builder extends BarChart.Builder { public Builder(CategoryDataset dataSet) { super(dataSet); } public StackedBarChart build() { return new StackedBarChart(this); } } }