2016-10-04 98 views
0

看起來,如果複合節點在其他父母之間有連接,但複合節點不遵守佈局,但孩子沒有連接。展現最好的辦法是修改其DAGRE例如:用這個代替他們的數據cytoscape.js複合節點忽略佈局?

http://jsbin.com/gist/e52c2fbc0b09edd6ec46?html,output

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"}} 
] 
}, 

從孩子unparented節點的鏈接通過佈局榮幸,但SimpleTest和兩個子父母之間的鏈接不是。

我試着在父母身上運行佈局,方法是分配類並傳遞layout()子圖,然後在剩餘的節點上運行網格,但這似乎也不起作用。

有沒有例子說明如何處理這種情況?它出現在他們網站上的兩個例子中(除非我錯了),他們正在爲父母手動設置位置。

我能看到的唯一解決方法是在子節點之間添加虛擬鏈接以獲取佈局運行,然後從圖形中過濾掉/之後隱藏它們,但是我覺得有一種方法可以做到這一點我不是看到...

謝謝!

回答

0

複合圖不是標準圖,所以只有明確聲明覆合支持的佈局才能處理特殊複合情況。達格爾是一個外部圖書館,沒有化合物的概念。