在D3上插入带单位后缀的编号

时间:2019-01-25 16:25:26

标签: javascript angularjs animation d3.js donut-chart

我目前在一个项目中将D3与angularJS一起使用来设计图形。

我正在处理的甜甜圈图上有一个数字,并且我想用d3的interpolateNumber函数对该数字进行动画处理,问题是我需要具有单位后缀( 99.9 k )是最大示例。

我已经接近使用d3格式属性,但是没有得到我需要的结果。

首先,例如,如果我的电话号码是 9 ,则显示的是 9.0 而不是 9 ,然后输入 99900 < / strong>我得到 100k ,而不是 99.9k

通过达到 99.9k 的最大值,我只希望它显示 99.9k +

像这样可能吗?这是我的代码:

controller.js:

var formatSuffix = d3.format(".2s");

function animation(centerCount) {
    const selection = d3.select(this),
        start = d3.select(this).text(),
        end = centerCount,
        interpolator = d3.interpolateNumber(start, end);

    return function(t) {                 
     selection.text(formatSuffix(Math.round(interpolator(t))));
    };
}

0 个答案:

没有答案