Javascript 堆叠条形图标签-D3
我正在尝试将数据标签添加到d3中的堆叠条形图中 我希望数据标签在栏的中间。到目前为止,我只知道如何在每个条的顶部添加数据标签。但实际上我希望这些标签在每个栏的中间。< /P> 这是我的代码: 数据: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 实际上,我不知道
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")