Javascript 如何将对象数组绑定到D3饼图中的圆弧?
我正在构建一个饼图,我的数据是JSON格式的: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({ "
[
{
"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中使用平面数组。为了清晰起见,我会编辑我的措辞。谢谢