X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=dygraph-tickers.js;h=c80bdf52320f9b7dcb24c22d4819d55ef9299a5c;hb=214083b469aec7f51223ec5c1532924d75c6eb2f;hp=41e60e447d5a9f0e82fcad9d94b843930003aca1;hpb=c4a1115d27233f6f08fb683c072cfc4447a2298c;p=dygraphs.git diff --git a/dygraph-tickers.js b/dygraph-tickers.js index 41e60e4..c80bdf5 100644 --- a/dygraph-tickers.js +++ b/dygraph-tickers.js @@ -168,6 +168,7 @@ Dygraph.numericTicks = function(a, b, pixels, opts, dygraph, vals) { // Add formatted labels to the ticks. var k; var k_labels = []; + var m_labels = []; if (opts("labelsKMB")) { k = 1000; k_labels = [ "K", "M", "B", "T", "Q" ]; @@ -175,7 +176,8 @@ Dygraph.numericTicks = function(a, b, pixels, opts, dygraph, vals) { if (opts("labelsKMG2")) { if (k) Dygraph.warn("Setting both labelsKMB and labelsKMG2. Pick one!"); k = 1024; - k_labels = [ "k", "M", "G", "T", "P", "E" ]; + k_labels = [ "k", "M", "G", "T", "P", "E", "Z", "Y" ]; + m_labels = [ "m", "u", "n", "p", "f", "a", "z", "y" ]; } var formatter = opts('axisLabelFormatter'); @@ -199,6 +201,19 @@ Dygraph.numericTicks = function(a, b, pixels, opts, dygraph, vals) { } } } + if(opts("labelsKMG2")){ + tickV = String(tickV.toExponential()); + if(tickV.split('e-').length === 2 && tickV.split('e-')[1] >= 3 && tickV.split('e-')[1] <= 24){ + if(tickV.split('e-')[1] % 3 > 0) { + label = Dygraph.round_(tickV.split('e-')[0] / + Math.pow(10,(tickV.split('e-')[1] % 3)), + opts('digitsAfterDecimal')); + } else { + label = Number(tickV.split('e-')[0]).toFixed(2); + } + label += m_labels[Math.floor(tickV.split('e-')[1] / 3) - 1]; + } + } ticks[i].label = label; } @@ -331,6 +346,7 @@ Dygraph.getDateAxis = function(start_time, end_time, granularity, opts, dg) { // for this granularity. var g = spacing / 1000; var d = new Date(start_time); + d.setMilliseconds(0); var x; if (g <= 60) { // seconds x = d.getSeconds(); d.setSeconds(x - x % g);