Print

Print


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);