7

d3 を使用して、固定の開始ノードと終了ノードを持つネットワーク ルート グラフを描画しますが、その間のパスはいくつかのノードを共有する可能性があります。次に例を示します。 ここに画像の説明を入力

Configure fixed-layout static graph in d3.js のコメントを読み、次のような単純なグラフを正常に作成しました。

ここに画像の説明を入力

しかし、グラフにノードを追加すると、グラフはランダムになり (更新後に静的ではなくなり)、直交しなくなります。

ここに画像の説明を入力

だから私の質問は:

  • d3.js を使用して目的のグラフに近いものを描画することは可能ですか?
  • または、グラフの実装に採用すべきアルゴリズムはありますか?
4

3 に答える 3

2

ここで私のデモを参照してください。</p>

http://jsfiddle.net/doraeimo/JEcdS/

主なアイデアは、ツリーに基づいて接続を作成することです。

    //1)temporarily convert a connectivity to a tree        
    var tree = conv2tree(data);

    //2)calculate for nodes' coords with <code>cluster.nodes(tree);</code>
    var nodes = buildNodes(tree);

    //3)append all the edges(links) of the connectivity
    var links = buildLinks(data);
于 2013-06-27T02:40:08.723 に答える
1

Dagre が私たちの問題を解決してくれました。それはまさに私たちが必要とすることをします。

于 2013-07-12T22:59:43.010 に答える