Author: [log in to unmask]
Date: Mon Mar 23 17:06:24 2015
New Revision: 2511
Log:
Minor updates to strip chart builder.
Modified:
java/trunk/monitoring-util/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java
Modified: java/trunk/monitoring-util/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java
=============================================================================
--- java/trunk/monitoring-util/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java (original)
+++ java/trunk/monitoring-util/src/main/java/org/hps/monitoring/plotting/StripChartBuilder.java Mon Mar 23 17:06:24 2015
@@ -6,7 +6,6 @@
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.DynamicTimeSeriesCollection;
import org.jfree.data.time.RegularTimePeriod;
-import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
@@ -156,16 +155,27 @@
String[] datasetNames,
double rangeSize) {
+ // If dataset names are given, the length must match the number of series requested.
+ if (datasetNames != null && seriesCount != datasetNames.length) {
+ throw new IllegalArgumentException("datasetNames has wrong length: " + datasetNames.length);
+ }
+
+ // Create the dataset and add empty series to it.
TimeSeriesCollection dataset = new TimeSeriesCollection();
for (int i = 0; i < seriesCount; i++) {
- String datasetName = "Dataset " + i;
+
+ // Uses title for dataset names if none given explicitly.
+ String datasetName = title;
+
if (datasetNames != null) {
+ // Use the explicitly given dataset names.
datasetName = datasetNames[i];
}
TimeSeries timeSeries = new TimeSeries(datasetName);
dataset.addSeries(timeSeries);
}
+ // Create the chart.
final JFreeChart result = ChartFactory.createTimeSeriesChart(
title,
"hh:mm:ss",
@@ -175,12 +185,13 @@
false,
false);
final XYPlot plot = result.getXYPlot();
- plot.getDomainAxis().setAutoRange(true);
-
+
+ // Configure range axis.
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setAutoRange(true);
rangeAxis.setAutoRangeIncludesZero(true);
+ // Configure domain axis.
plot.getDomainAxis().setAutoRange(true);
plot.getDomainAxis().setAutoRangeMinimumSize(rangeSize);
|