1
我对D3很新,在两天之后,我仍然遇到了一个我无法解决的问题。D3.js>在嵌套的html结构中绑定数据
我有此JSON结构:
var countries = [
{
name: "Germany",
total:1000,
bars:[
{
color: '#123456',
values: [100,200]
},
{
color: '#123456',
values: [100,200]
}
]
},
{
name: "Sweden",
total:800,
bars:[
{
color: '#cccccc',
values: [100, 300]
}
]
},
{
"name":"Netherlands",
total:200,
bars:[
{
color: '#123456',
values: [100,200]
}
]
}
];
我想实现是建立这种类型的HTML结构:
<ul class="ranking">
<!--one li element per object inside countries JSON structure -->
<li>
<ul class="bar">
<!--one li element per bar object inside each country -->
</ul>
</li>
</ul>
我可以轻松地构建在第一无序列表这样:
var rankingUL = svg.append("ul").attr ("class", "ranking")
var rankingLI = rankingUL.selectAll("li")
.data(countries)
.enter()
.append("li")
var rankingULBars = rankingLI.append("ul").attr("class", "bar");
但后来我有一些大问题,以了解如何创建第二个嵌套列表。我基本缺少的是了解如何在每个列表项中递归创建另一个列表,每个列包含一个列表项。任何帮助或解释非常感谢
谢谢,谢谢谢谢。这正是我创建d3.nest()后所寻找的,它有一个键和值[] – hoektoe