Javascript使用d3.nest()对数组求和
我想通过对“年龄”进行分组并对人口进行求和来创建一个饼图。我怎么能这么做 Data.csvJavascript使用d3.nest()对数组求和,javascript,d3.js,charts,Javascript,D3.js,Charts,我想通过对“年龄”进行分组并对人口进行求和来创建一个饼图。我怎么能这么做 Data.csv age,population <5,2704659 5-13,4499890 5-13,4 14-17,2159981 18-24,3853788 18-24,385 25-44,14106543 45-64,8819342 45-64,8142000 5-13,4499000 =65,612463 年龄、人口 您所做的求和是正确的,嵌套没有问题 问题在于您正在设置的值 您的代码: 应该是 var
age,population
<5,2704659
5-13,4499890
5-13,4
14-17,2159981
18-24,3853788
18-24,385
25-44,14106543
45-64,8819342
45-64,8142000
5-13,4499000
=65,612463
年龄、人口
您所做的求和是正确的,嵌套没有问题 问题在于您正在设置的值 您的代码: 应该是
var pie = d3.layout.pie()
.sort(null)
.value(function(d) {
return d.values;
});
同样,在路径和文本的渲染部分
g.append("path")
.attr("d", arc)
.style("fill", function(d) {
return color(d.data.key);///Not d.data.age
});
g.append("text")
.attr("transform", function(d) {
return "translate(" + arc.centroid(d) + ")";
})
.attr("dy", ".35em")
.style("text-anchor", "middle")
.text(function(d) {
return d.data.key;///Not d.data.age as returned by data(pie(data))
});
完整工作代码
希望这有帮助 你目前得到了什么结果?
var pie = d3.layout.pie()
.sort(null)
.value(function(d) { return d.population; });
var pie = d3.layout.pie()
.sort(null)
.value(function(d) {
return d.values;
});
g.append("path")
.attr("d", arc)
.style("fill", function(d) {
return color(d.data.key);///Not d.data.age
});
g.append("text")
.attr("transform", function(d) {
return "translate(" + arc.centroid(d) + ")";
})
.attr("dy", ".35em")
.style("text-anchor", "middle")
.text(function(d) {
return d.data.key;///Not d.data.age as returned by data(pie(data))
});