Highcharts活动量表:系列值格式化程序

时间:2018-06-04 14:16:48

标签: javascript highcharts

如果y值很大,例如:5000000,则值显示超出范围,因此我将其格式化为数百万,如5M。但是,highcharts值不接受字符串值。

var num = 5000000;


function nFormatter(num) {
     if (num >= 1000000000) {
        return (num / 1000000000).toFixed(1).replace(/\.0$/, '') + 'G';
     }
     if (num >= 1000000) {
        return (num / 1000000).toFixed(1).replace(/\.0$/, '') + 'M';
     }
     if (num >= 1000) {
        return (num / 1000).toFixed(1).replace(/\.0$/, '') + 'K';
     }
     return num;
}

num = nFormatter(num);
..
..
..
..//highcharts

series: [{
        name: 'Move',
        data: [{
            color: Highcharts.getOptions().colors[0],
            radius: '112%',
            innerRadius: '88%',
            y: num //num value is 5M
        }]
    },
..
..

1 个答案:

答案 0 :(得分:0)

将值传递给tooltip格式化程序函数将解决此问题。

..
..

tooltip: {
   formatter: function() {
      return num;
},
..
..
series: [{
   name: 'Move',
     data: [{
        color: Highcharts.getOptions().colors[0],
        radius: '112%',
        innerRadius: '88%',
        y: parseInt(num)
    }]
},
..
..