Я использую схему направленности силы в D3 с возможностью ее приостановки. Тем не менее, я хочу, чтобы макет вводил узлы, даже если остальная часть графика оставалась статической. Я попытался применение алгоритма силы к входящим узлам следующим образом:Применить силу для ввода узлов только в d3.js
nnodes = vis.selectAll(".node")
.data(updatedData.nodes)
nlinks = vis.selectAll(".link")
.data(updatedData.links)
// apply graphics to entering nodes and links
force
.nodes(nnodes.enter())
.links(nlinks.enter())
.start()
force.on("tick", tick)
, где tick
множества узлов и позиция ссылки правильно при нанесении на полный график или когда пользователь перетаскивают узлы.
Однако, с приведенным выше кодом, новые узлы не перемещаются за пределы своих исходных позиций.
Могу ли я каким-либо образом применить алгоритм силы для ввода только узлов?
Это делает мой план более трудным, что я думал. Правильно ли я понимаю, что методы «узлы» и «ссылки» по силе в основном просто говорят d3, какую переменную хранят узлы/ссылки, а не обязательно, какие узлы должны быть затронуты силой? В какой-то степени это имеет смысл, я думаю, так как другие узлы, вероятно, должны проявлять свою силу, как обычно, просто не перемещаться, то есть быть «фиксированными». – notan3xit
Нет, 'nodes' и' links' сообщают D3, на что должна действовать сила. Это не то же самое, что нарисованные узлы/ссылки - это позаботится отдельно. –