Javascript 如何从没有链接的节点中删除箭头标记
我使用d3.js在中设置了一个强制布局。我定义了箭头标记并将其附加到链接,如下所示Javascript 如何从没有链接的节点中删除箭头标记,javascript,d3.js,force-layout,Javascript,D3.js,Force Layout,我使用d3.js在中设置了一个强制布局。我定义了箭头标记并将其附加到链接,如下所示 container.append("svg:defs").selectAll("marker") .data(["end"]) .enter().append("svg:marker") .attr("id", String) .attr("viewBox", "0 -5 10 10") .attr("refX", 30)
container.append("svg:defs").selectAll("marker")
.data(["end"])
.enter().append("svg:marker")
.attr("id", String)
.attr("viewBox", "0 -5 10 10")
.attr("refX", 30)
.attr("refY", 0)
.attr("markerWidth", 3)
.attr("markerHeight", 3)
.attr("orient", "auto")
.append("svg:path")
.attr("d", "M0,-5L10,0L0,5")
.style("fill","#999");
var link = container.append("g")
.attr("class", "links")
.selectAll(".link")
.data(links)
.enter().append("line")
.attr("class", "link")
.attr("marker-end", "url(#end)")
.style("stroke","#999")
.style("fill","none")
.style("stroke-width", 1.5);
我的勾号函数定义为
function tick(){
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; });
node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
}
在我的网络中,我有一些孤立的节点,即没有任何链接的节点。我以链接的源和目标都是节点本身的方式来可视化此类节点。因此,在我的网络中,孤立的节点实际上也有这样的链接。现在困扰我的是,这些孤立的节点也通过箭头标记连接,如下所示
有人对此有什么解决方案吗?你有小提琴吗?不幸的是,没有人知道为什么你有这些虚拟链接与相同的源节点和目标节点?删除/过滤这些将解决问题。你是对的…非常感谢。