projects
/
dygraphs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c21d2c2
)
sort data if it's out of order (but log a warning)
author
Dan Vanderkam
<danvk@google.com>
Wed, 13 Jan 2010 18:28:47 +0000
(10:28 -0800)
committer
Dan Vanderkam
<danvk@google.com>
Wed, 13 Jan 2010 18:28:47 +0000
(10:28 -0800)
dygraph.js
patch
|
blob
|
blame
|
history
diff --git
a/dygraph.js
b/dygraph.js
index
1378c13
..
d187aa9
100644
(file)
--- a/
dygraph.js
+++ b/
dygraph.js
@@
-1549,6
+1549,7
@@
Dygraph.prototype.parseCSV_ = function(data) {
var xParser;
var defaultParserSet = false; // attempt to auto-detect x value type
var expectedCols = this.attr_("labels").length;
var xParser;
var defaultParserSet = false; // attempt to auto-detect x value type
var expectedCols = this.attr_("labels").length;
+ var outOfOrder = false;
for (var i = start; i < lines.length; i++) {
var line = lines[i];
if (line.length == 0) continue; // skip blank lines
for (var i = start; i < lines.length; i++) {
var line = lines[i];
if (line.length == 0) continue; // skip blank lines
@@
-1590,6
+1591,9
@@
Dygraph.prototype.parseCSV_ = function(data) {
fields[j] = parseFloat(inFields[j]);
}
}
fields[j] = parseFloat(inFields[j]);
}
}
+ if (ret.length > 0 && fields[0] < ret[ret.length - 1][0]) {
+ outOfOrder = true;
+ }
ret.push(fields);
if (fields.length != expectedCols) {
ret.push(fields);
if (fields.length != expectedCols) {
@@
-1598,6
+1602,12
@@
Dygraph.prototype.parseCSV_ = function(data) {
") " + line);
}
}
") " + line);
}
}
+
+ if (outOfOrder) {
+ this.warn("CSV is out of order; order it correctly to speed loading.");
+ ret.sort(function(a,b) { return a[0] - b[0] });
+ }
+
return ret;
};
return ret;
};
@@
-1688,12
+1698,13
@@
Dygraph.prototype.parseDataTable_ = function(data) {
this.attrs_.xValueParser = function(x) { return parseFloat(x); };
this.attrs_.xTicker = Dygraph.numericTicks;
} else {
this.attrs_.xValueParser = function(x) { return parseFloat(x); };
this.attrs_.xTicker = Dygraph.numericTicks;
} else {
- this.error("only 'date', 'datetime' and 'number' types are supported for
column 1
" +
- "of DataTable input (Got '" + indepType + "')");
+ this.error("only 'date', 'datetime' and 'number' types are supported for " +
+ "
column 1
of DataTable input (Got '" + indepType + "')");
return null;
}
var ret = [];
return null;
}
var ret = [];
+ var outOfOrder = false;
for (var i = 0; i < rows; i++) {
var row = [];
if (typeof(data.getValue(i, 0)) === 'undefined' ||
for (var i = 0; i < rows; i++) {
var row = [];
if (typeof(data.getValue(i, 0)) === 'undefined' ||
@@
-1717,8
+1728,16
@@
Dygraph.prototype.parseDataTable_ = function(data) {
row.push([ data.getValue(i, 1 + 2 * j), data.getValue(i, 2 + 2 * j) ]);
}
}
row.push([ data.getValue(i, 1 + 2 * j), data.getValue(i, 2 + 2 * j) ]);
}
}
+ if (ret.length > 0 && row[0] < ret[ret.length - 1][0]) {
+ outOfOrder = true;
+ }
ret.push(row);
}
ret.push(row);
}
+
+ if (outOfOrder) {
+ this.warn("DataTable is out of order; order it correctly to speed loading.");
+ ret.sort(function(a,b) { return a[0] - b[0] });
+ }
return ret;
}
return ret;
}