toolkit/javascript/d3/src/core/formatPrefix.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 var d3_formatPrefixes = ["y","z","a","f","p","n","μ","m","","k","M","G","T","P","E","Z","Y"].map(d3_formatPrefix);
       
     2 
       
     3 d3.formatPrefix = function(value, precision) {
       
     4   var i = 0;
       
     5   if (value) {
       
     6     if (value < 0) value *= -1;
       
     7     if (precision) value = d3.round(value, d3_format_precision(value, precision));
       
     8     i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);
       
     9     i = Math.max(-24, Math.min(24, Math.floor((i <= 0 ? i + 1 : i - 1) / 3) * 3));
       
    10   }
       
    11   return d3_formatPrefixes[8 + i / 3];
       
    12 };
       
    13 
       
    14 function d3_formatPrefix(d, i) {
       
    15   return {
       
    16     scale: Math.pow(10, (8 - i) * 3),
       
    17     symbol: d
       
    18   };
       
    19 }
       
    20