大概思路:該算法採用深度優先的方式遍歷整個多叉樹。第一步:若是是葉子節點則其x座標等於其左兄弟的x座標加上間距distance,若是是非葉子節點則其x座標等於其左兄弟的x座標加上間距distance,同時記錄下偏移量(x座標與子節點的中點之差)。第二步:將全部的子節點按父節點的偏移量移動。第三步:計算多叉樹的輪廓,若是輪廓值小於0則說明左右子樹存在重疊,將右子樹偏移該輪廓值。html
樹圖佈局 論文-英文git
d3 的節點算法web
https://github.com/d3/d3-hierarchy/blob/master/src/tree.js算法
https://github.com/d3/d3-hierarchy/blob/master/src/hierarchy/index.js佈局
重點是y軸位置,(findex已經決定了x位置)spa
http://jxjweb.top/2020/12/14/1.html翻譯
http://jxjweb.top/2020/12/14/2.html3d
http://jxjweb.top/2020/12/14/3.htmlhtm
http://jxjweb.top/2020/12/14/4.html
//對樹圖數據進行處理獲得須要的基礎點位信息yindex,xindex的點/線數據