21 package org.matsim.core.utils.charts;
24 import java.util.Map.Entry;
26 import org.jfree.chart.ChartFactory;
27 import org.jfree.chart.JFreeChart;
28 import org.jfree.chart.axis.LogarithmicAxis;
29 import org.jfree.chart.plot.PlotOrientation;
30 import org.jfree.chart.plot.XYPlot;
31 import org.jfree.data.xy.XYSeries;
32 import org.jfree.data.xy.XYSeriesCollection;
49 final String
yAxisLabel,
boolean isLogarithmicAxis) {
50 super(title, xAxisLabel, yAxisLabel);
52 this.dataset =
new XYSeriesCollection();
62 private JFreeChart
createChart(
final String title,
final String categoryAxisLabel,
63 final String valueAxisLabel,
final XYSeriesCollection dataset) {
64 JFreeChart c = ChartFactory.createXYLineChart(title, categoryAxisLabel, valueAxisLabel,
65 dataset, PlotOrientation.VERTICAL,
true,
69 if (this.isLogarithmicAxis){
70 XYPlot p = (XYPlot) c.getPlot();
71 LogarithmicAxis axis_x =
new LogarithmicAxis(this.
xAxisLabel);
72 LogarithmicAxis axis_y =
new LogarithmicAxis(this.
yAxisLabel);
73 axis_x.setAllowNegativesFlag(
false);
74 axis_y.setAllowNegativesFlag(
false);
75 p.setDomainAxis(axis_x);
76 p.setRangeAxis(axis_y);
90 public final void addSeries(
final String title,
final double[] xs,
final double[] ys) {
91 XYSeries series =
new XYSeries(title,
false,
true);
92 for (
int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) {
93 series.add(xs[i], ys[i]);
95 this.dataset.addSeries(series);
98 public final void addSeries(String title, Map<Integer, Double> map) {
99 XYSeries series =
new XYSeries(title,
false,
true);
100 for ( Entry<Integer,Double> entry : map.entrySet() ) {
101 series.add(entry.getKey(), entry.getValue() );
103 this.dataset.addSeries(series);
JFreeChart createChart(final String title, final String categoryAxisLabel, final String valueAxisLabel, final XYSeriesCollection dataset)
XYLineChart(final String title, final String xAxisLabel, final String yAxisLabel, boolean isLogarithmicAxis)
XYLineChart(final String title, final String xAxisLabel, final String yAxisLabel)
final void addSeries(final String title, final double[] xs, final double[] ys)
final XYSeriesCollection dataset
void addDefaultFormatting()
final boolean isLogarithmicAxis
final void addSeries(String title, Map< Integer, Double > map)