2013-03-20 57 views
0

我对d3很新颖并且我正试图了解它如何处理多维数组。为每个组添加不同数量的元素

我需要不同数量的元素的追加到基于嵌套阵列的长度的基团:

Var data = [ 
      [1,2,3], 
      [1,2,3,4], 
      [1,2,3,4,5] 
      ]; 

基于这个例子中我将需要具有3个基团; 第一个具有在其3种元素,所述第二具有4和第三具有5.

将是什么,通过分配给每个组的基准迭代的正确方法? d3是否提供了这样做的方法?

回答

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

让我知道如果这并未” t真的回答你的问题

+0

我发现这个教程真的有助于理解d3js的基础知识http://code.hazzens.com/d3tut/lesson_1.html – widged 2013-03-20 09:11:16

+0

现货!非常感谢,这正是我需要的 – BarakChamo 2013-03-20 10:39:50

相关问题