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.LogarithmicAxis;
26 import org.jfree.chart.plot.PlotOrientation;
27 import org.jfree.chart.plot.XYPlot;
28 import org.jfree.data.xy.XYSeries;
29 import org.jfree.data.xy.XYSeriesCollection;
47 final String
yAxisLabel,
boolean isLogarithmicAxis) {
48 super(title, xAxisLabel, yAxisLabel);
50 this.dataset =
new XYSeriesCollection();
61 final String categoryAxisLabel,
final String valueAxisLabel,
62 final XYSeriesCollection dataset) {
63 JFreeChart c = ChartFactory.createScatterPlot(title, categoryAxisLabel,
64 valueAxisLabel, dataset, PlotOrientation.VERTICAL,
true,
68 if (this.isLogarithmicAxis) {
69 XYPlot p = (XYPlot) c.getPlot();
70 LogarithmicAxis axis_x =
new LogarithmicAxis(this.
xAxisLabel);
71 LogarithmicAxis axis_y =
new LogarithmicAxis(this.
yAxisLabel);
72 axis_x.setAllowNegativesFlag(
false);
73 axis_y.setAllowNegativesFlag(
false);
74 p.setDomainAxis(axis_x);
75 p.setRangeAxis(axis_y);
91 public void addSeries(
final String title,
final double[] xs,
93 XYSeries series =
new XYSeries(title,
false,
true);
94 for (
int i = 0, n = Math.min(xs.length, ys.length); i < n; i++) {
95 series.add(xs[i], ys[i]);
97 this.dataset.addSeries(series);
final boolean isLogarithmicAxis
final XYSeriesCollection dataset
JFreeChart createChart(final String title, final String categoryAxisLabel, final String valueAxisLabel, final XYSeriesCollection dataset)
void addDefaultFormatting()
XYScatterChart(final String title, final String xAxisLabel, final String yAxisLabel)
XYScatterChart(final String title, final String xAxisLabel, final String yAxisLabel, boolean isLogarithmicAxis)
void addSeries(final String title, final double[] xs, final double[] ys)