d3.js补间文本动画在selectAll与数据之后不起作用

时间:2014-03-18 15:38:49

标签: javascript d3.js transition

我试图在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) + '%';
                };
            });

1 个答案:

答案 0 :(得分:0)

尝试更改此行 prec =(d.value +"")。split("。") 至 prec =(d.data.value +"")。split("。")