我正在使用mbostock的bar chart。代码几乎相同。我没有字母和频率,而是分别有名字和价值。我想在条形图上显示每个数据的值。我试着在最后添加它。
svg.selectAll(".bar").append("text")
.attr("x", height/2)
.attr("y", function(d) { return y(d.value) - 3; })
.text(function(d) { return d.value; });
但这似乎根本不起作用。那我搞砸了什么?
答案 0 :(得分:8)
您要将text
追加到rect
元素 - 这在SVG中无效,并且文本不会显示。相反,将text
附加到g
元素或顶级SVG:
svg.selectAll("text.bar")
.data(data)
.enter().append("text")
.attr("class", "bar")
.attr("text-anchor", "middle")
.attr("x", function(d) { return x(d.letter); })
.attr("y", function(d) { return y(d.frequency) - 10; })
.text(function(d) { return d.frequency; });
完整演示here。