我使用“节点”和“线”进行D3设置。当第一次出现图表时,它会在重力中反弹,直到它在中间稳定。有谁知道这种方法可以在中间自动出现,没有“弹跳”的影响?

p.s我正在使用强制布局

有帮助吗?

解决方案

呼叫开始重置冷却参数,alpha;当布局收敛于其解决方案时,alpha呈指数衰减,然后停止以避免浪费CPU。开始上没有抖动(除了重合节点以外,这是必要的,以避免归零)。但是,随时您具有冲突的力量和几何约束(链接),它很自然地期望布局在启动时调整。

如果要避免这种反弹,您要么需要保持图形永久性热门(通过调用d3.timer(function() { force.resume(); })说),或者您需要做其他事情,如手动调整alpha参数以逐步调整逐步重新加热。

编辑:在2.8.x中,您可以通过同步在启动时完全避免完全弹跳。例如: http://bl.ocks.org/1667139

其他提示

以前使用的另一种策略是逐渐增加每个节点的半导体从零的第一个,比如50或100强制滴答。你可以看到那种看起来像(在protovis中,但它在 One.org数据站点

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top