Обновление узлов / кругов Force Layout с функцией таймера (включая условия входа / выхода) - PullRequest
0 голосов
/ 05 июня 2019

Я прочитал здесь бесчисленные вопросы и попробовал несколько советов и подсказок, но я все еще не могу понять, что я делаю здесь неправильно.

Цель : У меня есть набор данных, содержащий: идентификатор, положение, время.Цель состоит в том, чтобы отсчет времени проходил от 0 до всего, и узлы, которые существуют в это время, перемещались между своими соответствующими положениями в это время.Эту функциональность можно увидеть в следующей скрипте (которая не подходит к концу, поскольку один из узлов должен выйти, но движение в порядке).

nodes.forEach(function(d,i){
d.choice = data2[i].position});

https://jsfiddle.net/a06x7f8d/1/

Проблема : До сих пор мне удавалось только перемещать узлы, используя функцию forEach на узлах для обновления их атрибута "position".Однако здесь не используются методы обновления / ввода / выхода, которые должен использовать d3, и поэтому, если узел входит или выходит из него, он потерпит неудачу.

Что я пробовал: Я пытался выбрать All («круг») и привязывать к обновленным данным каждый тик таймера, но это, кажется, объединяет круги в одну точку (т.е. без активной силы), а затем перепрыгивает между позициями без перехода.Так что я, очевидно, что-то здесь упускаю.

Буду очень признателен за любые указания по этому вопросу, я потратил пару дней, пробуя разные вещи ...: (

...