如何为每个svg元素添加单个标签?

时间:2014-01-10 14:21:08

标签: svg d3.js label

我正在尝试向this example

添加一个简单的数据标签
svg.selectAll("text")
        .data(data)
        .enter()
        .append("text")
        .attr("text-anchor", "middle")
        .attr("fill", "red")
        .text(function(d) { return d[0] });

但它会写入所有标签中的所有数据,我认为这是因为图形分为几个单独的svg元素。我该如何解决这个问题?

Fiddle

1 个答案:

答案 0 :(得分:2)

您已经将数据绑定到SVG,因此您无需再次将其绑定到text元素。 svg实际上是这里选择的SVG,所以你要做的就是

svg.append("text")
        .attr("text-anchor", "middle")
        .attr("fill", "red")
        .text(function(d) { return d[0] });

完整示例here