最佳答案
我希望我的力导向布局中的一些节点能够忽略所有的力,并根据节点的属性保持在固定的位置,同时仍然能够被拖动,对其他节点施加排斥力,并保持它们的连接线。
我以为就这么简单:
force.on("tick", function() {
vis.selectAll("g.node")
.attr("transform", function(d) {
return (d.someAttribute == true) ?
"translate(" + d.xcoordFromAttribute + "," + d.ycoordFromAttribute +")" :
"translate(" + d.x + "," + d.y + ")"
});
});
我还尝试手动设置节点的 x 和 y 属性,但是如果节点受到力的影响,那么链接将继续浮动到节点所在的位置。
很明显,我对这件事的运作方式有一个基本的误解。如何在保持链接并允许其可拖动的情况下修复位置中的节点?