0

私は d3 が初めてで、多次元配列の処理方法を学ぼうとしています。

ネストされた配列の長さに基づいて、異なる数の要素をグループに追加する必要があります。

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

この例に基づいて、3 つのグループが必要になります。最初の要素は 3 つ、2 つ目の要素は 4 つ、3 つ目の要素は 5 つです。

各グループに割り当てられたデータムを反復する正しい方法は何ですか? d3はそうする方法を提供していますか?

4

1 に答える 1

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

これが本当にあなたの質問に答えないかどうか私に知らせてください

于 2013-03-20T09:06:45.357 に答える