我正在使用d3组件radialProgress.js
但它无法显示十进制数字,例如:
1.37%它只显示1%。
是否有一些配置我可以改变它?
感谢。
[编辑]
我发现了这个功能:
function labelTween(a) {
var i = d3.interpolate(_currentValue, a);
_currentValue = i(0);
return function(t) {
_currentValue = i(t);
this.textContent = Math.round(i(t)) + "%";
}
}
Wich用于:
label.transition().duration(_duration)
.tween("text",labelTween);
labelTween 函数中的 a 参数是标签文本上的值。但是,当调用 labelTween 函数时,该值已经四舍五入。
答案 0 :(得分:1)
这是不可配置的,代码中的值是四舍五入的。你需要替换
.text(function (d) { return Math.round((_value-_minValue)/(_maxValue-_minValue)*100) + "%" })
与
.text(function (d) { return (_value-_minValue)/(_maxValue-_minValue)*100 + "%" })
禁用舍入。还有一些其他地方也需要这样做:
label.datum(Math.round(ratio*100));
应该是
label.datum(ratio*100);
和
this.textContent = Math.round(i(t)) + "%";
应该是
this.textContent = i(t) + "%";