我是d3的新手而且我正在努力学习它如何处理多维数组。
我需要根据嵌套数组的长度向组中添加不同数量的元素:
Var data = [
[1,2,3],
[1,2,3,4],
[1,2,3,4,5]
];
基于这个例子,我需要有3组; 第一个有3个元素,第二个有4个,第三个有5个。
迭代分配给每个组的 Datum 的正确方法是什么? d3是否提供了这样做的方法?
答案 0 :(得分:1)
首先循环遍历组然后循环遍历每个组中的元素的简单演示:
var data = [
[1,2,3],
[1,2,3,4],
[1,2,3,4,5]
];
var viz = d3.select("#viz");
var groups = viz
.selectAll("div.group")
.data(data, function(d, index) {
return d.key;
})
.enter()
.append("div")
.classed('group', true)
.text(function(d, i) { return 'group ' + i});
var nodes = groups
.selectAll("div.node")
.data(function(d, index){
return d;
})
.enter().append("div")
.classed('node', true)
.text(function(d, i) { return d});
作为一个要点,为了清晰起见,使用CSS样式 https://gist.github.com/widged/5203275
如果这不能真正回答你的问题,请告诉我