我目前在一个项目中将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))));
};
}