Я хочу, чтобы некоторые узлы в моей сило-ориентированной компоновке игнорировали все силы и оставались в фиксированных положениях на основе атрибута узла, при этом все еще имея возможность перетаскивать и вызывать отталкивание на других узлах и поддерживать их линии связи.
Я думал, что это будет так просто:
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 для каждого тика, но затем ссылки продолжают перемещаться туда, где был бы узел, если бы на него воздействовала сила.
Очевидно, у меня есть базовое недопонимание того, как это должно работать. Как я могу исправить узлы в позиции, сохраняя ссылки и все еще позволяя им быть перетаскиваемыми?