条形图显示值在顶部

时间:2014-07-26 16:22:49

标签: d3.js

我正在使用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; });

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

1 个答案:

答案 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