Я использую d3 js v5 для анимации g
элементов в svg. Анимация выполняется с использованием атрибута transform
. Я использую следующий код:
simulation = d3.forceSimulation(nodes)
.force("r", d3.forceRadial(d=>200, 500, 500);)
.on("tick", animationTick);
function animationTick() {
nodes.transition().ease(d3.easeLinear).duration(300)
.attr('transform', d=>"translate(" + d.x + "," + d.y + ")"
}
К сожалению, симуляция не работает - все узлы от go до (0,0), и браузер жалуется на:
Unexpected value translate(undefined,undefined) parsing transform attribute.
Насколько я понимаю из https://github.com/d3/d3-force#simulation_tick, симуляция должна назначить узлам x
и y
.
Что я здесь делаю не так?