2015-08-31 25 views
0

我正在使用d3.js.進行可摺疊佈局。對以下代碼的引用我想通過使用深度屬性來計算單擊節點的深度(級別),但我是得到它未定義。有沒有另一種方法來計算深度?在d3中計算節點的佈局深度

+0

http://jsfiddle.net/pria_3/70qy8ps6/6/ –

+0

代碼你在哪裏訪問深度? –

+0

在點擊方法的開始 –

回答

1

計算flatten方法中每個節點的深度,如下所示。

function flatten(root) { 
    var nodes = [], i = 0; 
    function recurse(node, depth) {  
     node.depth = depth; 
     if (node.children) 
      node.children.forEach(function(n){ 
       recurse(n,node.depth+1); 
      }); 
     if (!node.id) 
      node.id = ++i; 
     nodes.push(node); 
    } 
    recurse(root,0); 
    return nodes; 
} 

這裏是工作JSFiddle

+0

如何過濾此功能。我想顯示其父項大小超過4000的節點。 –