package altosui;
-import java.lang.*;
-import java.io.*;
-import java.util.concurrent.*;
import java.util.*;
-import java.text.*;
import java.awt.Color;
import java.util.ArrayList;
import java.util.HashMap;
-import org.altusmetrum.AltosLib.*;
-
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
abstract static class TimeSeries implements Element {
protected XYSeries series;
private String axisName;
+ private String axisUnits;
private Color color;
- public TimeSeries(String axisName, String label, Color color) {
+ public TimeSeries(String axisName, String axisUnits, String label, Color color) {
this.series = new XYSeries(label);
- this.axisName = axisName;
+ this.axisName = String.format("%s (%s)", axisName, axisUnits);
+ this.axisUnits = axisUnits;
this.color = color;
}
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(this.series);
- XYItemRenderer renderer = new StandardXYItemRenderer();
+ XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
renderer.setSeriesPaint(0, color);
+ StandardXYToolTipGenerator tool_tip;
+
+ tool_tip = new StandardXYToolTipGenerator(String.format("{1}s: {2}%s ({0})", axisUnits),
+ new java.text.DecimalFormat("0.00"),
+ new java.text.DecimalFormat("0.00"));
+ renderer.setBaseToolTipGenerator(tool_tip);
int dataNum = g.getDataNum(this);
int axisNum = g.getAxisNum(this);
public JFreeChart createChart() {
NumberAxis xAxis = new NumberAxis("Time (s)");
xAxis.setAutoRangeIncludesZero(false);
- XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
XYPlot plot = new XYPlot();
plot.setDomainAxis(xAxis);
- plot.setRenderer(renderer);
plot.setOrientation(PlotOrientation.VERTICAL);
if (serial != null && flight != null) {
title = callsign + " - " + title;
}
- renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
plot, true);
ChartUtilities.applyCurrentTheme(chart);