当使用svg变换来更新位置时,力模拟是紧张的

时间:2018-05-10 17:56:10

标签: javascript firefox d3.js svg d3-force-directed

JSFiddle example

我注意到在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

模拟看起来是相同的,直到它们即将变为静态,此时使用变换的模拟开始抖动很多。是什么原因引起了这个?可以修复它以便使用变换动画保持平滑吗?

0 个答案:

没有答案