for (i = num_series; i >= 1; i--) {
if (!this.visibility()[i - 1]) continue;
- // TODO(danvk): is this copy really necessary?
- var series = rolledSeries[i]; // [];
- // for (j = 0; j < rolledSeries[i].length; j++) {
- // series.push(rolledSeries[i][j]);
- // }
+ // Note: this copy _is_ necessary at the moment.
+ // If you remove it, it breaks zooming with error bars on.
+ // TODO(danvk): investigate further & write a test for this.
+ var series = [];
+ for (j = 0; j < rolledSeries[i].length; j++) {
+ series.push(rolledSeries[i][j]);
+ }
// Prune down to the desired range, if necessary (for zooming)
// Because there can be lines going to points outside of the visible area,
for (i = 1; i < data[0].length; i++) {
this.attrs_.labels.push("Y" + i);
}
+ } else {
+ var num_labels = this.attr_("labels");
+ if (num_labels.length != data[0].length) {
+ this.error("Mismatch between number of labels (" + num_labels +
+ ") and number of columns in array (" + data[0].length + ")");
+ return null;
+ }
}
if (Dygraph.isDateLike(data[0][0])) {