X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=gallery%2Flinear-regression.js;h=cb6b9d95cac57919ae21d06fce9e00c67edc7e72;hb=2d0fdf6eb18eafde50830b8109f42e20b82247b1;hp=11caff2f6a51cf032dc4846aacb18329ee56d87c;hpb=a0ee95027119b0fb1ccb2eac50bdf9809a54f836;p=dygraphs.git diff --git a/gallery/linear-regression.js b/gallery/linear-regression.js index 11caff2..cb6b9d9 100644 --- a/gallery/linear-regression.js +++ b/gallery/linear-regression.js @@ -1,3 +1,4 @@ +/*global Gallery,Dygraph,data */ Gallery.register( 'linear-regression', { @@ -17,9 +18,10 @@ Gallery.register( ""].join("\n"); }, run: function() { - document.getElementById("ry1").onclick = function() { regression(1) }; - document.getElementById("ry2").onclick = function() { regression(2) }; - document.getElementById("clear").onclick = function() { clearLines() }; + var g, regression, clearLines; // defined below + document.getElementById("ry1").onclick = function() { regression(1); }; + document.getElementById("ry2").onclick = function() { regression(2); }; + document.getElementById("clear").onclick = function() { clearLines(); }; var data = []; for (var i = 0; i < 120; i++) { @@ -32,7 +34,7 @@ Gallery.register( // if coeffs = [ null, [1, 2], null ] then we draw a regression for series 1 // only. The regression line is y = 1 + 2 * x. var coeffs = [ null, null, null ]; - function regression(series) { + regression = function(series) { // Only run the regression over visible points. var range = g.xAxisRange(); @@ -42,7 +44,7 @@ Gallery.register( if (x < range[0] || x > range[1]) continue; var y = g.getValue(i, series); - if (y == null) continue; + if (y === null || y === undefined) continue; if (y.length == 2) { // using fractions y = y[0] / y[1]; @@ -64,12 +66,12 @@ Gallery.register( } g.updateOptions({}); // forces a redraw. - } + }; - function clearLines() { + clearLines = function() { for (var i = 0; i < coeffs.length; i++) coeffs[i] = null; g.updateOptions({}); - } + }; function drawLines(ctx, area, layout) { if (typeof(g) == 'undefined') return; // won't be set on the initial draw. @@ -88,11 +90,11 @@ Gallery.register( var p1 = g.toDomCoords(x1, y1); var p2 = g.toDomCoords(x2, y2); - var c = new RGBColorParser(g.getColors()[i - 1]); + var c = Dygraph.toRGB_(g.getColors()[i - 1]); c.r = Math.floor(255 - 0.5 * (255 - c.r)); c.g = Math.floor(255 - 0.5 * (255 - c.g)); c.b = Math.floor(255 - 0.5 * (255 - c.b)); - var color = c.toHex(); + var color = 'rgb(' + c.r + ',' + c.g + ',' + c.b + ')'; ctx.save(); ctx.strokeStyle = color; ctx.lineWidth = 1.0; @@ -104,7 +106,7 @@ Gallery.register( ctx.restore(); } } - + g = new Dygraph( document.getElementById("demodiv"), data,