複合ノードは、他の親との間に接続がある場合、レイアウトに従わないように見えますが、子には接続がありません。表示する最善の方法は、DAGRE の例を変更することです。
http://jsbin.com/gist/e52c2fbc0b09edd6ec46?html、出力
データを次のように置き換えます。
elements: {
nodes: [
{"data":{"id":"SimpleTest"}},
{"data":{"id":"child1","parent":"SimpleTest"}},
{"data":{"id":"child2","parent":"SimpleTest"}},
{"data":{"id":"subParent1"}},
{"data":{"id":"terminal0_socket","parent":"subParent1"}},
{"data":{"id":"subParent2"}},
{"data":{"id":"terminal1_socket","parent":"subParent2"}},
{"data":{"id":"terminal0"}},
{"data":{"id":"terminal1"}}
],
edges: [
{"data":{"source":"SimpleTest","target":"subParent1"}},
{"data":{"source":"SimpleTest","target":"subParent2"}},
{"data":{"source":"terminal0_socket","target":"terminal0"}},
{"data":{"source":"terminal1_socket","target":"terminal1"}}
]
},
子ノードから親のないノードへのリンクはレイアウトによって受け入れられますが、SimpleTest と 2 つのサブ親の間のリンクは受け入れられません。
クラスを割り当ててlayout()をサブグラフに渡し、残りのノードでグリッドを実行することで、親だけでレイアウトを実行しようとしましたが、それもうまくいかないようです。
このケースを処理する方法の例はどこかにありますか? 彼らのウェブサイトの2つの例に表示されます(私が間違っていない限り)、彼らは手動で親の位置を設定しています.
私が見ることができる唯一の回避策は、子の間にダミーのリンクを追加してレイアウトを実行し、グラフからそれらをフィルター処理して後で非表示にすることですが、これを行う方法があるように感じますが、私は見ていません...
ありがとう!