在连接到节点 d3.js 之前穿过另一点的线



两个节点之间的链接作为直线进入,我希望线在一个点弯曲,然后移动到该节点。我该怎么办?我不需要曲线,基本上是一条穿过一点然后向另一个节点移动的线。

我使用

    link.attr("x1", function (d) {
                            return d.source.x;
                        })
                        .attr("y1", function (d) {
                            return d.source.y;
                        })
                        .attr("x2", function (d) {
                            return d.target.x;
                        })
                        .attr("y2", function (d) {
                            return d.target.y;
                        });

使用 svg 路径。

    path.attr("d", function (d) {
        var sX = d.source.x, sY =d.source.y;
        var tX = d.target.x, tY =d.target.y;
        var mX = (d.source.x+d.target.x)/2+45, mY =(d.source.y+d.target.y)/2+45; //Third point
        return "M "+sX+","+sY+" L"+mX+","+mY+" L"+tX+","+tY;
    });

最新更新