如何更新D3js中的单个文本标签enter-update-exit?

时间:2014-10-05 12:12:15

标签: javascript jquery css d3.js visualization

我一直在使用D3js食谱,以及以下示例代码来创建doughnutChart

我遇到的问题是关于标签。

目前,我使用以下内容:

function renderLabels() {
    var labels = _pieG.selectAll("text.total").data(_data);

    labels.enter()
        .append("text")
        .attr("dy", ".35em")
        .style("text-anchor", "middle")
        .attr("class", "inside")
        .attr("class", "total");

    labels.transition()
        .text(function(d) {
            var total = 0;
            for (var j = 0; j < _data.length; j++) {
                total = total + _data[j].count + _data[j].abnormal;
            }
            return total;
        });
}

它在图表的中心呈现总值。问题是,它实际上在图表的中心为每个数据点呈现一个总数,而不是一个单独的文本标签。我不确定如何获得单个数据点标签。有关工作示例,请参阅fiddle。我想要的是拥有一个标签,而不是三个:

<text dy=".35em" class="total" style="text-anchor: middle;">17</text>
<text dy=".35em" class="total" style="text-anchor: middle;">17</text>
<text dy=".35em" class="total" style="text-anchor: middle;">17</text>

有什么想法吗?

0 个答案:

没有答案