求支招怎么正确的画曲线

我使用d3.js画一个树形图,到画曲线那个步骤的时候,有问题,请问下这一段应该怎么修改数据可以让svg的path圆滑的过渡到下一个节点

let link = g.selectAll('.link')
    .data(root.descendants().slice(1))
    .enter()
    .append('path')
    .attr('class', 'link')
    .attr('d', d => {
        return 'M' + (d.depth * 180) + ',' + d.x
            + 'C' + (d.parent.y + 100) + ',' + d.x
            + ' ' + (d.parent.y + 100) + ',' + d.parent.x
            + ' ' + d.parent.y + ',' + d.parent.x;
    });

上面这一段画出来是这样的:第一列没有问题,到第二列就 分裂成那样了

clipboard.png

目标是改成这样:

clipboard.png

阅读 1.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进