X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph.js;h=c893e027b7c9ab8669727da9d1c1191ddbda6f6e;hb=21ff17d117faed5a1654c4b5032c4a10d89fcd5a;hp=ef06082f49f8164d86d02f995f3f72bbd956cbf0;hpb=5011e7a1a4764f7ae0b8703e319d635ab6e4abc8;p=dygraphs.git diff --git a/dygraph.js b/dygraph.js index ef06082..c893e02 100644 --- a/dygraph.js +++ b/dygraph.js @@ -1038,7 +1038,9 @@ Dygraph.prototype.drawGraph_ = function(data) { series = pruned; } - [thisMinY, thisMaxY] = this.extremeValues_(series); + var extremes = this.extremeValues_(series); + var thisMinY = extremes[0]; + var thisMaxY = extremes[1]; if (!minY || thisMinY < minY) minY = thisMinY; if (!maxY || thisMaxY > maxY) maxY = thisMaxY; @@ -1174,49 +1176,28 @@ Dygraph.prototype.rollingAverage = function(originalData, rollPeriod) { return originalData; } - for (var i = 0; i < num_init_points; i++) { + for (var i = 0; i < originalData.length; i++) { var sum = 0; - for (var j = 0; j < i + 1; j++) - sum += originalData[j][1]; - rollingData[i] = [originalData[i][0], sum / (i + 1)]; - } - // Calculate the rolling average for the remaining points - for (var i = Math.min(rollPeriod - 1, originalData.length - 2); - i < originalData.length; - i++) { - var sum = 0; - for (var j = i - rollPeriod + 1; j < i + 1; j++) - sum += originalData[j][1]; - rollingData[i] = [originalData[i][0], sum / rollPeriod]; - } - } else { - for (var i = 0; i < num_init_points; i++) { - var sum = 0; - var variance = 0; var num_ok = 0; - for (var j = 0; j < i + 1; j++) { - var y = originalData[j][1][0]; + for (var j = Math.max(0, i - rollPeriod + 1); j < i + 1; j++) { + var y = originalData[j][1]; if (!y || isNaN(y)) continue; num_ok++; - sum += y; - variance += Math.pow(originalData[j][1][1], 2); + sum += originalData[j][1]; } if (num_ok) { - var stddev = Math.sqrt(variance)/num_ok; - rollingData[i] = [originalData[i][0], - [sum/num_ok, sigma * stddev, sigma * stddev]]; + rollingData[i] = [originalData[i][0], sum / num_ok]; } else { - rollingData[i] = [originalData[i][0], [null, null, null]]; + rollingData[i] = [originalData[i][0], null]; } } - // Calculate the rolling average for the remaining points - for (var i = Math.min(rollPeriod - 1, originalData.length - 2); - i < originalData.length; - i++) { + + } else { + for (var i = 0; i < originalData.length; i++) { var sum = 0; var variance = 0; var num_ok = 0; - for (var j = i - rollPeriod + 1; j < i + 1; j++) { + for (var j = Math.max(0, i - rollPeriod + 1); j < i + 1; j++) { var y = originalData[j][1][0]; if (!y || isNaN(y)) continue; num_ok++; @@ -1478,12 +1459,10 @@ Dygraph.prototype.parseDataTable_ = function(data) { } else { row.push(data.getValue(i, 0)); } - var any_data = false; for (var j = 1; j < cols; j++) { row.push(data.getValue(i, j)); - if (data.getValue(i, j)) any_data = true; } - if (any_data) ret.push(row); + ret.push(row); } return ret; }