我在这里阅读了无数问题,并尝试了一些提示和技巧,但我仍然无法弄清楚我在做什么错。
目标: 我有一组数据,其中包括:id,位置,时间。 目的是使时间从0到任意数进行计数,并且使当时存在的节点在其相应位置之间移动。可以在下面的小提琴中看到此功能(该小提琴最终将失败,因为其中一个节点是要退出的,但移动正常)。
nodes.forEach(function(d,i){
d.choice = data2[i].position});
https://jsfiddle.net/a06x7f8d/1/
问题: 到目前为止,我只能使用节点上的forEach函数来移动节点以更新其“位置”属性。但是,它没有使用d3打算使用的update / enter / exit方法,因此,如果节点进入或退出,它将失败。
我尝试过什么: 我尝试过selectAll(“ circle”)并在计时器的每个刻度上绑定到更新的数据,但这似乎将圆圈合并到一个点(即无力作用),然后在没有过渡的位置之间跳转。所以我显然在这里缺少了一些东西。
对此的任何指导将不胜感激,到目前为止,我已经花了几天时间尝试不同的事情...:(