Javascript使用d3.nest()对数组求和

Javascript使用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

我想通过对“年龄”进行分组并对人口进行求和来创建一个饼图。我怎么能这么做

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 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))
    });