add support for errorBars to gviz gadget
authorDan Vanderkam <danvdk@gmail.com>
Sat, 12 Dec 2009 00:17:29 +0000 (16:17 -0800)
committerDan Vanderkam <danvdk@gmail.com>
Sat, 12 Dec 2009 00:17:29 +0000 (16:17 -0800)
dygraph.js
gadget.xml
tests/gviz.html

index bdfa1b1..4fc26bc 100644 (file)
@@ -1560,8 +1560,10 @@ Dygraph.prototype.parseDataTable_ = function(data) {
   var labels = [];
   for (var i = 0; i < cols; i++) {
     labels.push(data.getColumnLabel(i));
+    if (i != 0 && this.attr_("errorBars")) i += 1;
   }
   this.attrs_.labels = labels;
+  cols = labels.length;
 
   var indepType = data.getColumnType(0);
   if (indepType == 'date') {
@@ -1587,8 +1589,14 @@ Dygraph.prototype.parseDataTable_ = function(data) {
     } else {
       row.push(data.getValue(i, 0));
     }
-    for (var j = 1; j < cols; j++) {
-      row.push(data.getValue(i, j));
+    if (!this.attr_("errorBars")) {
+      for (var j = 1; j < cols; j++) {
+        row.push(data.getValue(i, j));
+      }
+    } else {
+      for (var j = 0; j < cols - 1; j++) {
+        row.push([ data.getValue(i, 1 + 2 * j), data.getValue(i, 2 + 2 * j) ]);
+      }
     }
     ret.push(row);
   }
index 885d0ea..18206aa 100644 (file)
@@ -28,6 +28,7 @@
   <UserPref name="_dg_minY" display_name="Min Y Value" required="false" default_value="" />
   <UserPref name="_dg_maxY" display_name="Max Y Value" required="false" default_value="" />
   <UserPref name="_dg_kmb" display_name="KMB labels" required="false" default_value="false" datatype="bool" />
+  <UserPref name="_dg_errorbars" display_name="Error Bars" required="false" default_value="false" datatype="bool" />
   <!--
   This is a sample gadget, that uses the Google Visualization API to read data
   from a data source, and displays it as an html table.
       var showRoller = prefs.getBool("_dg_showRoller");
       var rollPeriod = prefs.getInt("_dg_rollPeriod");
       var labelsKMB = prefs.getBool("_dg_kmb");
+      var errorBars = prefs.getBool("_dg_errorbars");
       var opts = {
         showRoller: showRoller,
         rollPeriod: rollPeriod,
-        labelsKMB: labelsKMB
+        labelsKMB: labelsKMB,
+        errorBars: errorBars
       };
 
       var minY = prefs.getString("_dg_minY");
index 885b0d5..fcd2a24 100644 (file)
@@ -34,7 +34,9 @@
             document.getElementById('gviz')).draw(data, null);  
 
         new Dygraph.GVizChart(
-            document.getElementById('dygraphs')).draw(data, null);
+            document.getElementById('dygraphs')).draw(data, {
+              errorBars: true
+            });
       }
       google.setOnLoadCallback(drawVisualization);
     </script>