大概思路:该算法采用深度优先的方式遍历整个多叉树。第一步:若是是叶子节点则其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的点/线数据