21 package org.matsim.core.utils.charts;
23 import org.jfree.chart.ChartFactory;
24 import org.jfree.chart.JFreeChart;
25 import org.jfree.chart.axis.CategoryAxis;
26 import org.jfree.chart.plot.CategoryPlot;
27 import org.jfree.chart.plot.PlotOrientation;
28 import org.jfree.chart.renderer.category.BarRenderer;
29 import org.jfree.data.category.CategoryDataset;
30 import org.jfree.data.category.DefaultCategoryDataset;
42 private final DefaultCategoryDataset
dataset;
43 private final CategoryPlot
plot;
66 super(title, xAxisLabel, yAxisLabel);
67 this.dataset =
new DefaultCategoryDataset();
69 this.plot = this.
chart.getCategoryPlot();
70 this.categories = categories.clone();
75 final CategoryAxis axis1 = this.plot.getDomainAxis();
76 axis1.setCategoryMargin(0.20);
79 BarRenderer renderer = (BarRenderer)this.plot.getRenderer();
80 renderer.setItemMargin(0.10);
88 private JFreeChart
createChart(
final String title,
final String categoryAxisLabel,
89 final String valueAxisLabel,
final CategoryDataset dataset) {
90 return ChartFactory.createStackedBarChart(title, categoryAxisLabel, valueAxisLabel,
91 dataset, PlotOrientation.VERTICAL,
true,
103 public void addSeries(
final String title,
final double[] values) {
105 for (
double value : values) {
106 String category = (cnt > this.categories.length ? Integer.toString(cnt) : this.categories[cnt-1]);
107 this.dataset.addValue(value, title, category);
final String [] categories
void addSeries(final String title, final double[] values)
void addDefaultFormatting()
final DefaultCategoryDataset dataset
StackedBarChart(final String title, final String xAxisLabel, final String yAxisLabel, final String[] categories)
JFreeChart createChart(final String title, final String categoryAxisLabel, final String valueAxisLabel, final CategoryDataset dataset)
StackedBarChart(final String title, final String xAxisLabel, final String yAxisLabel)