2016-09-01 32 views
5

Wyświetlanie wartości w lakhs, crores zamiast milionów.Czy możliwe jest wyświetlanie wartości w systemie indyjskim w ZingChart?

function formatIndianSuffix(num) { 
    var x = parseInt(num).toString(); 
    var len = x.length; 
    var formattedNum = ""; 
    if (len <= 3) { 
     formattedNum = '₹' + Math.floor(x); 
    } else if (len > 3 && len < 6) { 
     formattedNum = '₹' + (roundOff(x/1000)).toString() + ' K' 
    } else if (len >= 6 && len < 8) { 
     formattedNum = '₹' + (roundOff(x/100000)).toString() + ' L' 
    } else if (len >= 8) { 
     formattedNum = '₹' + (roundOff(x/10000000)).toString() + ' Cr' 
    } 
    return formattedNum; 
} 

Używam tej funkcji do formatowania liczb, ale jak użyć tego na wykresie?

Odpowiedz

4

Pełne ujawnienie, należę do zespołu ZingChart.

Wykonujemy funkcje pomocnicze w budowaniu etykiet skali. Oto działający przykład podobnego pomysłu.

var gFactor = 1.000; 
 
var gFactorMultiplier = 1000; 
 
var myConfig = { 
 
    \t type: "bar", 
 
    \t scaleY:{ 
 
    "factor": gFactor, 
 
    "format":"formatMyLabels()", 
 
    \t label:{ 
 
    \t  text:"Size" 
 
    \t } 
 
    \t }, 
 
    \t plotarea:{ 
 
    \t margin: "dynamic" 
 
    \t }, 
 
\t series : [ 
 
\t \t { 
 
\t \t \t values : [899,1024,1142,2267,3389,4425,5534,6667,7785] 
 
\t \t } 
 
\t ] 
 
}; 
 

 
window.formatMyLabels = function(v) { 
 
    var localFactor = gFactor * gFactorMultiplier; 
 
    switch(localFactor) { 
 
    case 1000: 
 
     if (v < 1000) { 
 
     return v; 
 
     } else if (v >= 1000 && v < 1000000) { 
 
     return v/1000 + 'K' 
 
     } else if (v >= 1000000) { 
 
     return v/1000000 + 'M' 
 
     } 
 
     break; 
 
    case 1024: 
 
    if (v < 1024) { 
 
     return v + 'bps'; 
 
     } else if (v >= 1024) { 
 
     return v/1024 + 'kbps'; 
 
     } 
 
     break; 
 
    } 
 
    
 
} 
 

 
zingchart.render({ 
 
\t id : 'myChart', 
 
\t data : myConfig, 
 
\t height: 400, 
 
\t width: '100%' 
 
});
<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t <!--Assets will be injected here on compile. Use the assets button above--> 
 
\t \t <script src= 'https://cdn.zingchart.com/zingchart.min.js'></script> 
 
\t \t <script> ZC.MODULESDIR = 'https://cdn.zingchart.com/modules/';</script> 
 
\t <!--Inject End--> 
 
\t </head> 
 
\t <body> 
 
\t \t <div id='myChart'></div> 
 
\t </body> 
 
</html>