Javascript 堆叠条形图标签-D3

Javascript 堆叠条形图标签-D3,javascript,css,svg,d3.js,Javascript,Css,Svg,D3.js,我正在尝试将数据标签添加到d3中的堆叠条形图中 我希望数据标签在栏的中间。到目前为止,我只知道如何在每个条的顶部添加数据标签。但实际上我希望这些标签在每个栏的中间。< /P> 这是我的代码: 数据: state,value1, value2, value3 state1, 80, 10, 20 state2, 90, 5, 10 state3, 70, 15, 35 state4, 90, 3, 27 state5, 50, 25, 55 state6, 85, 8, 27 实际上,我不知道

我正在尝试将数据标签添加到d3中的堆叠条形图中

我希望数据标签在栏的中间。到目前为止,我只知道如何在每个条的顶部添加数据标签。但实际上我希望这些标签在每个栏的中间。< /P> 这是我的代码

数据

state,value1, value2, value3
state1, 80, 10, 20
state2, 90, 5, 10
state3, 70, 15, 35
state4, 90, 3, 27
state5, 50, 25, 55
state6, 85, 8, 27
实际上,我不知道如何得到每个条的X&Y坐标的中点


帮助我在每个栏中间排列标签。

你只需要调整<代码> y>代码>坐标> <代码>文本>代码>元素:

circle.selectAll("text")
      .data(function(d) { return d.hours; })
      .enter()
      .append("text")
      .attr("x", 75)
      .attr("y", function(d, i) { return y(d.y1) + (y(d.y0) - y(d.y1))/2; })
      .style("text-anchor", "middle")
      .text("test")

我还有一个疑问。我希望列名是相应栏的标签。我该怎么做呢?
.text()的动态函数
,例如
.text(函数(d){return d.name;})
d.name
指的是列名?谢谢你帮了我的忙。我怎么能像这篇文章一样断章取义呢?假设我想用
d3
写3-4行注释,参见示例。
circle.selectAll("text")
      .data(function(d) { return d.hours; })
      .enter()
      .append("text")
      .attr("x", 75)
      .attr("y", function(d, i) { return y(d.y1) + (y(d.y0) - y(d.y1))/2; })
      .style("text-anchor", "middle")
      .text("test")