在d3网络图上添加单独的箭头

时间:2016-01-10 17:56:44

标签: javascript d3.js

我想添加单独的箭头(一个用于从节点A到B的路径,另一个用于B到A)到我已经制作的d3图形(参见Plunker版本here),而不是在每一端添加一个带有两个箭头的箭头。

我已经尝试了代码here,通过更改我的' tick'函数,以及定义路径变量如下:

var path = svg.append("svg:g").selectAll("path")
.data(force.links())
 .enter().append("svg:path")
.attr("class", "link")
.attr("marker-end", "url(#end)");

function tick() {
path.attr("d", function(d) {
    var dx = d.target.x - d.source.x,
        dy = d.target.y - d.source.y,
        dr = Math.sqrt(dx * dx + dy * dy);
    return "M" + 
        d.source.x + "," + 
        d.source.y + "A" + 
        dr + "," + dr + " 0 0,1 " + 
        d.target.x + "," + 
        d.target.y;
});

然而,这似乎阻止了节点的显示,以及缩放/过滤功能。

有谁知道如何阻止这种情况发生?

最佳,

0 个答案:

没有答案