我使用頂點具有顯着大小的組件(通過覆蓋mxGraphComponent.createComponents
),並使用mxOrganicLayout
或mxFastOrganicLayout
使它們重疊。 mxHierarchicalLayout
不符合我目前的圖表,但我不確定這是否有保證。防止JGraphX中的節點重疊
我可以1)避免在有機佈局中重疊嗎? 2)確保mxHierarchicalLayout
節點永遠不會重疊?
我使用頂點具有顯着大小的組件(通過覆蓋mxGraphComponent.createComponents
),並使用mxOrganicLayout
或mxFastOrganicLayout
使它們重疊。 mxHierarchicalLayout
不符合我目前的圖表,但我不確定這是否有保證。防止JGraphX中的節點重疊
我可以1)避免在有機佈局中重疊嗎? 2)確保mxHierarchicalLayout
節點永遠不會重疊?
不知道您是否仍在尋找解決方案,但我在嘗試避免重疊時發現您的問題。
如果您不知道,可以嘗試一些有機佈局的屬性。例如,您可以執行以下操作:
mxFastOrganicLayout layout = new mxFastOrganicLayout(adapter);
layout.setForceConstant(150);
力常數已在文檔下面的描述:
力常數,通過該吸引力被劃分和replusive力是由多廣場。
對於我來說,我玩過力量常數,直到我得到了一個重疊少得多的佈局。還有許多其他屬性可以用來查看這是否有助於解決重疊問題。是做了最差對我來說,那些如下:
layout.setMinDistanceLimit(5);
增加您minDistanceLimit
應該讓你的頂點傳播更多信息。
由於fastOrganicLayout也可以通過模擬退火工作,所以實際上可以指定最大迭代次數來運行佈局。如果你的地圖特別複雜(有許多頂點),它也可能有助於增加它。
layout.getMaxIterations(2000);
對我來說,改變力常數是最大的差異,但你的里程可能會有所不同。
我以前沒有使用分層佈局,但似乎有類似的屬性,您可以更改哪些可能會減少重疊的機會。
如果你想出了比這更穩固的解決方案,那麼如果你能分享它,那將是非常好的。
'還有很多其他的屬性可以玩,以及' - 你可以更具體,哪些屬性在這裏相關? –
@VsevolodGolovanov感謝您的建議。我添加了一些更相關的屬性。 – Tom