X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph-layout.js;h=4caafc04aa475b0d0dd9b76f2d24a27727bbaf15;hb=cd872296479aecce62b74c787dc778732070c498;hp=e30c7a12f011b5007fa0b8b38b23a11fe99cf69c;hpb=1a7fbe3b8e7fd316688add664c02d3eb5234c7aa;p=dygraphs.git diff --git a/dygraph-layout.js b/dygraph-layout.js index e30c7a1..4caafc0 100644 --- a/dygraph-layout.js +++ b/dygraph-layout.js @@ -381,7 +381,7 @@ DygraphLayout.prototype.removeAllDatasets = function() { DygraphLayout.prototype.unstackPointAtIndex = function(setIdx, row) { var point = this.points[setIdx][row]; // If the point is missing, no unstacking is necessary - if (!point.yval) { + if (!Dygraph.isValidPoint(point)) { return point; } @@ -397,15 +397,15 @@ DygraphLayout.prototype.unstackPointAtIndex = function(setIdx, row) { // The unstacked yval is equal to the current yval minus the yval of the // next point at the same xval. - if (setIdx == this.points.length - 1) { - // We're the last series, so no unstacking is necessary. - return unstackedPoint; - } - - var points = this.points[setIdx + 1]; - if (points[row].xval == point.xval && // should always be true? - points[row].yval) { - unstackedPoint.yval -= points[row].yval; + // We need to iterate over setIdx just in case some series have invalid values + // at current row + for(setIdx++; setIdx < this.points.length; setIdx++) { + var nextPoint = this.points[setIdx][row]; + if (nextPoint.xval == point.xval && // should always be true? + Dygraph.isValidPoint(nextPoint)) { + unstackedPoint.yval -= nextPoint.yval; + break; // stop at first valid point + } } return unstackedPoint;