我一直在使用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>
有什么想法吗?