d3.js渐变文本动画不工作后的selectAll与数据

d3.js tweening text animation not working after selectAll with data

本文关键字:selectAll 数据 工作 js 渐变 文本 动画 d3      更新时间:2023-09-26

我试图在d3.js中为甜甜圈图上的标签创建一个自动报时器样式的递增值文本转换。甜甜圈图工作正常,标签工作,如果我不使用"数据"answers"输入",但我已经移动到一个更高级的版本,我不能得到过渡工作了

有人能解释为什么下面不工作,但只是应用作为。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) + '%';
                };
            });

尝试更改这一行Prec = (d.value + ").split(".")来Prec = (d.data.)Value + ").split(".")