布局算法之樹布局


在數據可視化領域,常常需要將數據按照一定的規則分布,使得數據展示直觀、清晰、一目了然。筆者在工程實踐時,遇到這樣一個問題:如何使得具有多個關系聯系的點邊圖按照樹形布局?

在查閱了大量國內外資料的基礎上,筆者找到了Bill Mill的一篇英文論文:drawing presentable trees

在這里先簡單地描述一下算法的大概思路:該算法采用深度優先的方式遍歷整個多叉樹。第一步:如果是葉子節點則其x坐標等於其左兄弟的x坐標加上間距distance,如果是非葉子節點則其x坐標等於其左兄弟的x坐標加上間距distance,同時記錄下偏移量(x坐標與子節點的中點之差)。第二步:將所有的子節點按父節點的偏移量移動。第三步:計算多叉樹的輪廓,如果輪廓值小於0則說明左右子樹存在重疊,將右子樹偏移該輪廓值。

此外,分享一下我的翻譯結果:http://www.cnblogs.com/zhongzihao/p/8976675.html。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM