似乎找不到这个问题的答案。
d3.js是否需要数据采用特定格式。例如:
var dataset = {
"people": [
{
"name": "person1",
"projects": [
{
"name": "project1"
},
{
"name": "project3"
}
]
},
{
"name": "person2",
"projects": [
{
"name": "project1"
},
{
"name": "project2"
}
]
}
]
};
然后用这个:
d3.select('body')
.selectAll('p')
.data(dataset)
.enter()
.append('p')
.text(function(d){
return d;
});
不会退货。
希望有人可以提供帮助。
文档和其他教程都说你可以使用上面的内容,但总是使用数组作为示例/ demo。
答案 0 :(得分:3)
正如@MikeAtkins所说,你正在尝试数据绑定外部对象。尝试:
var dataset = {
"people": [
{
"name": "person1",
"projects": [
...
]
},
...
]
};
d3.select('body')
.selectAll('p')
.data(dataset.people)
.enter()
.append('p')
.text(function(d){
return d.name;
});
如果要绑定到NESTED数组(即每个人的每个项目),您应该看到this tutorial。