我注意到在d3-force图表中更新svg元素的位置时,使用(在圆圈的情况下)thirdLst :: (Num c, Integral a) => a -> c -> [c]
thirdLst n x = zipWith (*) (ymod2 n) (powersOfx n x)
和cx
更新元素的位置属性比使用cy
属性要平滑得多。
在示例JSFiddle中,有两个单独的力模拟并排。左侧的那个使用transform
属性更新位置:
transform
右边的那个使用圆圈的sim_transform.on('tick', function () {
circles_transform.attr('transform', function (d) {
return 'translate(' + d.x + ',' + d.y + ')';
});
});
和cx
属性更新位置:
cy
模拟看起来是相同的,直到它们即将变为静态,此时使用变换的模拟开始抖动很多。是什么原因引起了这个?可以修复它以便使用变换动画保持平滑吗?