2015-02-06 51 views
6

我正在使用cytoscape.js 2.3.9,我正在玩一些佈局。 我現在渲染大約150個節點,但我希望一直到1000-1500。有大約25個節點和1-50個可能的孩子。 我最需要的方法是用'cose'佈局,但是離我的最終預期結果還很遠。如何提高cytoscape.js中'cose'佈局的間距?

我已經嘗試過使用其屬性值進行記錄的幾種配置,但我沒有那麼強大的定向模擬,感覺就像沒有多少意義。

有了這個配置:

layout: { 
    'name':'cose', 
    'animate':false, 
    'refresh':.1, 
    'edgeElasticity' : 20, 
    'fit': true, 
    'gravity' : 100  
} 

我得到這個結果(紅線表示包含分區的大小): enter image description here

祝圖更適合的,少留空白和兒童節點更接近它的父節點。 有時有幾個要素更適合的(但不總是),像這樣: enter image description here

但即使這樣一些子節點重疊,其母公司和其他人得到這麼遠。

對屬性值或任何其他佈局更適合我的紫袍的建議?

謝謝。

+0

佈局的文檔位於https://github.com/cytoscape/cytoscape.js/blob/v2.3.9/documentation/md/layouts/cose.md,其源代碼位於https://github.com/ Cytoscape中/ cytoscape.js/BLOB/v2.3.9/src目錄/擴展/ layout.cose.js。如果你提供一個'jsFiddle'來玩你的數據集,那麼你有機會得到一個有用的答案會提高一點 – xmojmr 2015-02-07 07:47:25

回答

3

由於力定向/物理SIM佈局的本質,您必須根據您的特定數據定製力值。我的建議是複製粘貼cose文檔中的示例;它使用默認值。

通過獨立更改每個值的實驗,並查看您會得到什麼效果。

不幸的是,沒有一個適合所有力值的設置,但我們試圖設置默認值,這對我們所見過的大多數數據都是正常的。

+0

感謝你的回覆@maxkfranz這就是我正在做的,這不是完美的,但比手動定位好得多; ) – exoddus 2015-02-12 07:07:36

+1

你可以使用cose佈局發佈鏈接到示例代碼嗎?我找不到任何示例代碼,並且遇到與問題相同的問題。 – adev 2017-09-13 23:52:51