D3.js 条形图显示顶部的值

D3.js 条形图显示顶部的值,d3.js,D3.js,我用的是姆博斯托克的。代码几乎相同。我分别有名称和值,而不是字母和频率。我想在条形图上显示每个数据的值。我试着在最后加上这个 svg.selectAll(".bar").append("text") .attr("x", height/2) .attr("y", function(d) { return y(d.value) - 3; }) .text(function(

我用的是姆博斯托克的。代码几乎相同。我分别有名称和值,而不是字母和频率。我想在条形图上显示每个数据的值。我试着在最后加上这个

svg.selectAll(".bar").append("text")
                     .attr("x", height/2)
                     .attr("y", function(d) { return y(d.value) - 3; })
                     .text(function(d) { return d.value; });

但这似乎根本不起作用。那么我搞砸了什么?

您将
文本添加到
rect
元素中——这在SVG中无效,文本不会显示。相反,将
文本
附加到
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; });

完成演示。

不要将
文本添加到
rect
元素中。。。