X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph-canvas.js;h=65678083c63ab7e202b390142c4d6e118ea64296;hb=de9a8181064aa767e1c70c31a0027a0324cc33c6;hp=d9ef7423d4a6684a094d772db08997956da1a450;hpb=9f636500f08868182ecd88288636e7f8718e28de;p=dygraphs.git diff --git a/dygraph-canvas.js b/dygraph-canvas.js index d9ef742..6567808 100644 --- a/dygraph-canvas.js +++ b/dygraph-canvas.js @@ -25,7 +25,7 @@ */ /*jshint globalstrict: true */ -/*global Dygraph:false,RGBColor:false */ +/*global Dygraph:false,RGBColorParser:false */ "use strict"; @@ -261,7 +261,12 @@ DygraphCanvasRenderer._drawStyledLine = function(e, drawPointCallback, pointSize) { var g = e.dygraph; // TODO(konigsberg): Compute attributes outside this method call. - var stepPlot = g.getOption("stepPlot"); // TODO(danvk): per-series + var stepPlot = g.getOption("stepPlot"); + var seriesStepPlot = g.getOption("stepPlot",e.setName); + if(seriesStepPlot !== undefined) { + stepPlot = seriesStepPlot; + } + if (!Dygraph.isArrayLike(strokePattern)) { strokePattern = null; } @@ -343,7 +348,7 @@ DygraphCanvasRenderer._drawSeries = function(e, isIsolated = false; if (drawGapPoints || !prevCanvasX) { iter.nextIdx_ = i; - var peek = iter.next(); + iter.next(); nextCanvasY = iter.hasNext ? iter.peek.canvasy : null; var isNextCanvasYNullOrNaN = nextCanvasY === null || @@ -444,13 +449,10 @@ DygraphCanvasRenderer.prototype._updatePoints = function() { */ DygraphCanvasRenderer.prototype._renderLineChart = function(opt_seriesName, opt_ctx) { var ctx = opt_ctx || this.elementContext; - var errorBars = this.attr_("errorBars") || this.attr_("customBars"); - var fillGraph = this.attr_("fillGraph"); var i; var sets = this.layout.points; var setNames = this.layout.setNames; - var setCount = setNames.length; var setName; this.colors = this.dygraph_.colorsMap_; @@ -595,7 +597,6 @@ DygraphCanvasRenderer._errorPlotter = function(e) { var color = e.color; var fillAlpha = g.getOption('fillAlpha', setName); var stepPlot = g.getOption('stepPlot'); // TODO(danvk): per-series - var axis = e.axis; var points = e.points; var iter = Dygraph.createIterator(points, 0, points.length, @@ -608,16 +609,23 @@ DygraphCanvasRenderer._errorPlotter = function(e) { var prevX = NaN; var prevY = NaN; var prevYs = [-1, -1]; - var yscale = axis.yscale; // should be same color as the lines but only 15% opaque. - var rgb = new RGBColor(color); + var rgb = new RGBColorParser(color); var err_color = 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')'; ctx.fillStyle = err_color; ctx.beginPath(); + + var isNullUndefinedOrNaN = function(x) { + return (x === null || + x === undefined || + isNaN(x)); + }; + while (iter.hasNext) { var point = iter.next(); - if ((!stepPlot && !Dygraph.isOK(point.y)) || (stepPlot && !isNaN(prevY) && !Dygraph.isOK(prevY))) { + if ((!stepPlot && isNullUndefinedOrNaN(point.y)) || + (stepPlot && !isNaN(prevY) && isNullUndefinedOrNaN(prevY))) { prevX = NaN; continue; } @@ -716,9 +724,8 @@ DygraphCanvasRenderer._fillPlotter = function(e) { var prevX = NaN; var prevYs = [-1, -1]; var newYs; - var yscale = axis.yscale; // should be same color as the lines but only 15% opaque. - var rgb = new RGBColor(color); + var rgb = new RGBColorParser(color); var err_color = 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')'; ctx.fillStyle = err_color;