UNPKG

dcos-dygraphs

Version:

dygraphs is a fast, flexible open source JavaScript charting library.

87 lines (78 loc) 2.64 kB
<!DOCTYPE html> <html> <head> <title>log scale</title> <!-- For production (minified) code, use: <script type="text/javascript" src="dygraph-combined.js"></script> --> <script type="text/javascript" src="../dist/dygraph.js"></script> </head> <body> <center> <input id='ylog' type="button" value="y log scale" onclick="setLogScale('y', true)"> <input id='ylinear' type="button" value="y linear scale" onclick="setLogScale('y', false)"> <input id='xlog' type="button" value="x log scale" onclick="setLogScale('x', true)"> <input id='xlinear' type="button" value="x linear scale" onclick="setLogScale('x', false)"> <div>Current scales: <span id="description"></span></div> </center> <h2>X axis of dates</h2> <div id="div_g0" style="width:600px; height:300px;"></div> <div style="font-style: italic; margin-left: 40px;">(Note: when the x-axis is dates, logscale is ignored on that axis.)</div> <h2>X axis of numbers</h2> <div id="div_g1" style="width:600px; height:300px;"></div> <script type="text/javascript"> function data0() { return "Date,A\n" + "20101201,5\n"+ "20101202,10\n"+ "20101203,-1\n"+ "20101204,250\n"+ "20101205,1000\n"+ "20101206,30\n"+ "20101207,80\n"+ "20101208,100\n"+ "20101209,500\n"+ ""; }; function data1() { return "X,A\n" + "1,0.000001\n"+ "2,10\n"+ "3,100\n"+ "4,250\n"+ "5,1000\n"+ "6,30\n"+ "7,0\n"+ "8,100\n"+ "9,500\n"+ "30,500\n"+ "50,400\n"+ "100,300\n"+ "101,500\n"+ "300,200\n"+ "1000,100\n"+ ""; }; var g0 = new Dygraph(document.getElementById("div_g0"), data0, {}); var g1 = new Dygraph(document.getElementById("div_g1"), data1, {}); var graphs = [ g0, g1 ]; var scales = { x : false, y : false }; function setLogScale(axis, val) { if (axis === 'y') { for (var idx = 0; idx < graphs.length; idx++) { graphs[idx].updateOptions({ logscale: val }); } } else { for (var idx = 0; idx < graphs.length; idx++) { graphs[idx].updateOptions({ axes : { x : { logscale : val } } }); } } scales[axis] = val; var text = "y: " + (scales.y ? "log" : "linear") + ", x: " + (scales.x ? "log" : "linear"); document.getElementById("description").innerText = text; } setLogScale('y', true); </script> </body> </html>