2013-03-20 3 views
0

Я довольно новичок в d3 И я пытаюсь узнать, как он обрабатывает многомерные массивы.Добавление различного количества элементов в каждую группу

мне нужно добавить другое количество элементов в группе, основанной на длине вложенного массива:

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

Основываясь на этом примере я должен был бы иметь 3 группы; Первого имеющие 3 элементов в нем, втором, имеющие 4 и третьем, имеющий 5.

Что было бы правильный способ для перебора Datum назначенного каждой группы? Предлагает ли 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

+0

Пятно на! Большое спасибо, это именно то, что мне нужно. – BarakChamo

Смежные вопросы