2013-04-10 13 views
15

力の有向グラフ(ノードとリンク)と折りたたみ可能な木(親子ノード)の例がたくさんありますが、これらは - このようないくつかの1レベルクラスタネットワーク以外 - http://static.cybercommons.org/js/d3/examples/force/force-cluster.htmld3.jsの折りたたみ可能/階層AND力向グラフ

enter image description here

Iは、階層の様々なノード間のリンクで(任意の数のレベルを有する)ノードの完全な階層が必要となります。

誰でもこの例がありますか?

もしそうなら、私は最終的には階層が折りたたまれているのを見たいと思っています。子どもからのリンクは、折りたたまれたときに親に「上がって」います。

乾杯、 ティム

これは私がjsonDataが見えるように期待するものに似ている...

{ 
"nodes": [ 
    { 
     "name": "Parent 1", 
     "children": [ 
      { 
       "name": "Child 1", 
      }, 
    }, 
    { 
     "name": "Parent 2", 
     "children": [ 
      { 
       "name": "Child 2", 
      }, 
. 
. 
. 
"links": [ 
    { 
     source: "Child 1", 
     target: "Child 2" 
    }, 
. 
. 

答えて

3

私もこれに興味があります。 私は2つの例を見つけました。

http://bl.ocks.org/mbostock/1062288 http://graus.nu/d3/

+0

を示す良い例です親と子供をつなぐための「リンク」。もう1つは、階層間のノード間の明示的な「リンク」を持っています(親か子かに関わらず)。 – DrTim

+0

私は2つにマージしようとしませんでしたか? – Marinus

+0

番号。上記のリンクごとに1レベルのグループ化されたグラフのいくつかの例があり、 "階層エッジバンドル"サンプル - http://mbostock.github.io/d3/talk/20111116/bundle.html - 同様のデータ構造を使用します(ただしリーフノードのみ接続可能)。まだ解決策はありません... – DrTim

7

私は両方の例をマージしようとここにここに私のfiddle

// Toggle children on click. 
function click(d) { 
if (d.children) { 
    d._children = d.children; 
    d.children = null; 
} else { 
    d.children = d._children; 
    d._children = null; 
} 
update(); 
}