2017-04-18 15 views
0

私は、さまざまな代謝経路(親ノードに含まれるプリセットレイアウトに従うノード)を動的に配置しようとしています。「プリセット」レイアウトを動的に組み合わせる

通常、私は親ノードと重ならないように、各子ノードの位置を定義します。しかし、グラフ(要求されたノードを含む生成されたjson)は動的に生成されるので、これはオプションではありません。

jsonが生成されるときに、各ノードの位置を再計算することができない、これを達成する方法がありますか。

例:要求して解糖 - > TCA - >尿素

Current situation

Acceptable solution

答えて

0

あなたはおそらくではなく、いくつかのコードを使用する必要がありますというようなマニュアルを行いたい場合レイアウトを指定するだけです。

let shiftPosition = (pos, delta) => ({ x: pos.x + delta.x, y: pos.y + delta.y }); 
let shiftNode = (node, delta) => shiftPosition(node.position(), delta); 
let findDelta = parent => ({ x: 100, y: 100 }); // determine yourself 

cy.nodes(':parent').forEach(parent => { 
    let delta = findDelta(parent); 

    parent.children().positions(node => shiftNode(node, delta)); 
}); 
+0

どうもありがとうございました。 –

関連する問題