如何在Chart.js中将标签和值更改为500,000到500k?

时间:2017-04-25 01:09:03

标签: javascript laravel bar-chart chart.js

我在laravel 4中使用Chart.js 1.0.2来绘制条形图。如何更改标签和值500,000 to 500k

1 个答案:

答案 0 :(得分:1)

如果只是想要添加' k',请在选项中传递一项功能..

scaleLabel: function (v) {
    return v.value / 1000 + 'k';
}

..但是这将超过一百万(即10,000,000将是10000k)。所以解决这个问题的功能..

function formatNumber( v ) {
    // Change the '1' here to adjust decimal places
    var numOfDecimalPlaces = Math.pow( 10, 1 ) ;
    var suffixList = [ "k", "m", "b", "t" ] ;

    for ( var i = suffixList.length - 1; i >= 0; i-- ) {
        var size = Math.pow( 10, ( i + 1 ) * 3 ) ;
        if( size <= v ) {
             v = Math.round( v * numOfDecimalPlaces / size ) / numOfDecimalPlaces ;
             if ( ( v == 1000) && ( i < abbrev.length - 1 ) ) {
                 v = 1 ;
                 i++ ;
             }
             v += suffixList[ i ] ;
             break ;
        }
    }

    return v ;
}

..并用..调用它。

scaleLabel: function (v) {
    return formatNumber(v.value) ;
}