D3.js使节点出现在中间;反弹”;
D3.js getting nodes to appear in middle without "bounce"
我有一个使用"Nodes"answers"Lines"的D3设置。当图形第一次出现时,它会随着重力反弹,直到它位于在中间。有人知道一种方法可以让它自动出现在中间而不会产生"反弹"的效果吗?
p.S我正在使用部队布局
调用start重置冷却参数alpha;alpha在布局收敛于其解时呈指数衰减,然后停止以避免浪费cpu。启动时没有抖动(除了重合节点,这是避免被零除所必需的)。但是,无论何时,只要存在冲突的力和几何约束(链接),都很自然地希望在启动时调整布局。
如果你想避免这种反弹,你要么需要保持图形永久热(比如调用d3.timer(function() { force.resume(); })
),要么你需要做其他事情,比如手动调整alpha参数,逐渐而不是瞬间重新加热。
编辑:在2.8.x中,您可以通过在启动时同步运行力布局来完全避免第一次反弹。例如:http://bl.ocks.org/1667139
我以前使用过的另一种策略是,在第一个(例如,50或100个)力刻度上,从零开始逐渐增加每个节点的半径。你可以在one.org数据网站上的Dorling cartograms中看到它的样子(在Protovis中,但在d3中的行为方式相同)。
相关文章:
- Regex加在中间
- 如何使用JS在中间输入文本中动态插入字符
- 引导弹出框在中间对齐
- Beautifulsoup抓取数据,其中有js文本在中间
- 如何使用'郎'在中间件中
- 莫里斯.js甜甜圈标签不在中间的jquery标签中
- 如何在中间人中包含 JavaScript 4.
- 制作旋转动画:缓慢开始和结束,但在中间快速
- 如何在每个窗帘在中间相遇后添加滚动延迟
- 如何调整jQuery动画以使元素保持在中间
- 根据 window.innerWidth 在中间设置弹出窗口
- 计算圆心以在中间对齐文本
- 拆分文本节点在中间
- 如何制作序列号表格?用“-"在中间分开
- 在中间人中使用全局变量?即网站标题
- angularjs:当行添加到在中间时,检测ng-erepeat何时结束
- Regex只接受字母数字,除了在中间的一个连字符
- Jquery-如何在中间重置动画'的当前动画
- 键入js不在中间人中工作
- 比较和替换在JavaScript中使用正则表达式:在中间留下一个词