簡體   English   中英

圖形布局:重新布局以保留圖形的形狀

[英]Graph Layout : re-layout preserving the shape of the drawing

我想使用彈簧布局算法 (一種力導向布局)繪制一個由節點和邊組成的圖形 ,一旦布局好圖形,我想讓用戶以交互方式添加新節點,並讓布局演變 ,即在保持先前的“形狀”的同時定位新節點(不要將已經定位的節點移動太多)。

我的意思是類似於WordVishttp://www.wordvis.com上所做的事情。

我目前正在使用GraphDracula庫中提供的spring layouter。 這是一種“簡單”的方法,這意味着如果重新布局圖,則可能會得到完全不同的布局(我認為這是由於算法中對Math.rand的調用所致)

我想做的算法/策略是什么?

我看到了graphdracula的布局器將初始節點pos設置為零,然后進行迭代以計算最終節點的位置。 假設我添加一組節點newNodes鄰近的expandedNode :保持現有的形狀,它足以給每個的初始POS設置newNodes到的一個expandedNode再次,然后施加力時向所有節點?

您是否有指向算法的指針,該算法不僅可以對圖形進行一次布局,還可以添加新節點來對整個圖形進行布局,而無需過多更改圖形?

任何提示都歡迎。

我目前正在使用javascript,但是語言並不重要。

您可以使用Gephi

  1. 導入圖形
  2. 在“布局”面板中,使用ForceAtlas渲染圖形,然后停止布局。
  3. 選擇所有節點,右鍵單擊並“解決”節點。 他們不會動。
  4. 添加新的節點和鏈接。
  5. 再次運行相同的布局。

當然,這不是一個完美的解決方案,但是,如果不添加太多連接圖的不同區域的新節點,此技巧將合理地起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM