我试图在d3.js中为圆环图上的标签创建一个增加值的文本转换。圆环图工作正常,如果我没有使用"数据"标签可以正常工作。并且"输入,但随着我转移到更高级的版本,我无法再过渡到工作
有人能够解释为什么以下不起作用,但只是应用.text()而不进行转换会应用该值吗?
var text = svg.select(".labels").selectAll("text")
.data(pie(data), key);
text.enter()
.append("svg:text")
.attr("dy", ".35em")
.attr("class", "text-label")
.transition()
.tween("text", function(d) {
console.log(d);
console.log(this.textContent);
var i = d3.interpolate(0, d.data.value),
prec = (d.value + "").split("."),
round = (prec.length > 1) ? Math.pow(10, prec[1].length) : 1;
return function(t) {
this.textContent = (Math.round(i(t) * round) / round) + '%';
};
});
答案 0 :(得分:0)
尝试更改此行 prec =(d.value +"")。split("。") 至 prec =(d.data.value +"")。split("。")