2016-11-11 85 views
0

我想從YFiles遷移到Jung。當涉及到小圖時,顯示器與YFiles幾乎相似。但對於大圖,我沒有找到任何佈局來滿足我的期望。這裏是1000種元素的曲線圖YFiles似乎顯示很好: YFiles Graph DisplayJUNG - 顯示大圖的最佳佈局(〜1000個節點)

在榮格,有子圖之間不一致的距離,像在這樣的畫面:

JUNG Graph Display

對於JUNG我使用SparseMultigraph與具有以下屬性的FRLayout:

FRLayout<GraphNode, GraphLink> layout = new FRLayout<>(graph); 
layout.setMaxIterations(100); 
layout.setAttractionMultiplier(0.2); // default 0.75 
layout.setRepulsionMultiplier(0.3); // default 0.75 

我打了很多與迭代的次數,吸引力乘法器和斥力乘數b這是我找到的最佳組合。

是否有更好的合適的佈局/圖表來顯示這樣的圖表,以獲得與YFiles顯示的內容類似的內容?

回答

0

你有一個非常具體的結果,你想從你的佈局,所以可能你最好的選擇是實現你自己的佈局算法。 JUNG提供的佈局旨在具有相當的通用性,對於各種各樣的圖都能很好地工作;他們不希望做任何你想要的任何特定的圖表。

如果你能找出YFiles正在使用什麼算法,那麼你應該有一個選擇,就是簡單地重新實現它們的算法。但是,在這種情況下,由於您的圖表似乎是具有完全相同大小和拓撲結構的多個獨立隔離組件的聚合,因此我建議創建一個專門的實現,以確定性地繪製圖形。您可以使用WeakComponentClusterer來標識組件,使用一個簡單的公式來計算組件的每個元素的相對位置,然後佈置每個組件。

StaticLayout對於確定性方法是有用的。

+0

我並不完全確定,但它可能很好,我們分開佈局組件,以避免這種確切的問題。我想JUNG可能需要這一步是明確的。 – Joey