[英]Graph Layout : re-layout preserving the shape of the drawing
我想使用彈簧布局算法 (一種力導向布局)繪制一個由節點和邊組成的圖形 ,一旦布局好圖形,我想讓用戶以交互方式添加新節點,並讓布局演變 ,即在保持先前的“形狀”的同時定位新節點(不要將已經定位的節點移動太多)。
我的意思是類似於WordVis在http://www.wordvis.com上所做的事情。
我目前正在使用GraphDracula庫中提供的spring layouter。 這是一種“簡單”的方法,這意味着如果重新布局圖,則可能會得到完全不同的布局(我認為這是由於算法中對Math.rand
的調用所致)
我想做的算法/策略是什么?
我看到了graphdracula的布局器將初始節點pos設置為零,然后進行迭代以計算最終節點的位置。 假設我添加一組節點newNodes
鄰近的expandedNode
:保持現有的形狀,它足以給每個的初始POS設置newNodes
到的一個expandedNode
再次,然后施加力時向所有節點?
您是否有指向算法的指針,該算法不僅可以對圖形進行一次布局,還可以添加新節點來對整個圖形進行布局,而無需過多更改圖形?
任何提示都歡迎。
我目前正在使用javascript,但是語言並不重要。
您可以使用Gephi :
當然,這不是一個完美的解決方案,但是,如果不添加太多連接圖的不同區域的新節點,此技巧將合理地起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.