summaryrefslogtreecommitdiff
path: root/altosui/AltosGraphTime.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-12-18 22:59:36 -0800
committerKeith Packard <keithp@keithp.com>2012-12-18 23:01:51 -0800
commit244415c515f21328cffe88d1369949a4af49a177 (patch)
tree97ae620eb276cc8da213be5fee491ff3f21a585b /altosui/AltosGraphTime.java
parentb1d37be4c024e9690107c693d9819229025966fa (diff)
altosui: Clean up graph a bit, remove shapes, improve tooltips
Sometimes graphs would get shapes at each datapoint which was annoyingly cluttered. And, the tooltips used a format that was difficult to interpret. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosGraphTime.java')
-rw-r--r--altosui/AltosGraphTime.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/altosui/AltosGraphTime.java b/altosui/AltosGraphTime.java
index 75e536c5..62d516b2 100644
--- a/altosui/AltosGraphTime.java
+++ b/altosui/AltosGraphTime.java
@@ -68,11 +68,13 @@ class AltosGraphTime extends AltosGraph {
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;
}
@@ -85,8 +87,14 @@ class AltosGraphTime extends AltosGraph {
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);
@@ -192,10 +200,8 @@ class AltosGraphTime extends AltosGraph {
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) {
@@ -205,7 +211,6 @@ class AltosGraphTime extends AltosGraph {
title = callsign + " - " + title;
}
- renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
plot, true);
ChartUtilities.applyCurrentTheme(chart);