Javascript 如何将对象数组绑定到D3饼图中的圆弧?

Javascript 如何将对象数组绑定到D3饼图中的圆弧?,javascript,d3.js,Javascript,D3.js,我正在构建一个饼图,我的数据是JSON格式的: [ { "Stage":"birth", "Avg":19071 }, { // } ] 我不知道应该如何使用data函数将json数据绑定到我的选择。所以这对我不起作用: pie = d3.layout.pie(); arcs = svg.selectAll("g.arc") .data(pie(data)) // ? .enter() .append("g") .attr({ "

我正在构建一个饼图,我的数据是JSON格式的:

[
  {
    "Stage":"birth",
    "Avg":19071
  },
 { 
   //
 }
]
我不知道应该如何使用data函数将json数据绑定到我的选择。所以这对我不起作用:

pie = d3.layout.pie();

arcs = svg.selectAll("g.arc") 
  .data(pie(data)) // ?
  .enter()
  .append("g")
  .attr({
    "transform" : "translate(" + outerRadius + "," + outerRadius + ")",
    "class": function(d,i){
      console.log(d3.keys(d));
    }       
  });

pie.sort(null);

//Draw arc paths  
arcs.append("path")
  .attr({
    "d": arc,
    "class" : "arc"
  });

如何使用.data来访问json中的每个键/值对?很抱歉,如果这是一个非常简单的问题,但我无法理解在这种情况下键是如何工作的

您需要为您的
布局.pie
提供一个函数

var pie = d3.layout
  .pie()
  .sort(null)
  .value(function(d){
    return d.Avg; //<-- d3 will pie the values in Avg property
   });
var pie=d3.layout
.pie()
.sort(空)
.价值(功能(d){

返回d.Avg;//您需要为您的
layout.pie
提供一个函数

var pie = d3.layout
  .pie()
  .sort(null)
  .value(function(d){
    return d.Avg; //<-- d3 will pie the values in Avg property
   });
var pie=d3.layout
.pie()
.sort(空)
.价值(功能(d){

return d.Avg;//表示以前你有[1970,1971…]这样的数据,现在你有[{xxx:1970,xxx:sdafsdf'},{……}]……对吗?@saikumar是的,这就像[{xxx:1970,xxx:sdafsdf'},{……}]。我习惯于在D3中使用平面数组。为了清晰起见,我会编辑我的措辞。感谢以前你有[1970,1971…]这样的数据…就像现在你有[{xxx:1970,xxx:'sdafsdf'},{……}]…对吗?@saikumar是的,就像[{xxx:1970,xxx:'sdafsdf'},{……}]。我习惯于在D3中使用平面数组。为了清晰起见,我会编辑我的措辞。谢谢