D3.JSは、ノードが「バウンス」なしで中央に表示されるようになる
-
12-11-2019 - |
質問
「ノード」と「行」を使用してD3設定をしています。グラフが最初に現れると、それが真ん中に落ち着くまで重力で跳ね返ります。「バウンス」のエフェクトの種類なしで中央に自動的に現れる方法を知っていますか?
P.SORE LAINEUT を使用しています
解決
呼び出し開始冷却パラメータαをリセットします。アルファは、レイアウトがその解決策に収束するにつれて指数関数的に崩壊してから、CPUの無駄を避けるように停止します。起動時のジッタは(一致するノード以外のもので、ゼロの分割を回避するのに必要なもの)はありません。ただし、競合する力と幾何学的制約(リンク)がある場合はいつでも、開始時にレイアウトを調整することを期待するのは自然です。
このバウンスを避けたい場合は、グラフを恒久的にホット(d3.timer(function() { force.resume(); })
を呼び出すことで)を常に最適にする必要があります。/ P>
編集:2.8.xでは、起動時に同期的にForceレイアウトを実行することで、最初のバウンスを完全に回避できます。例: http://bl.ocks.org/1667139
他のヒント
以前に使用した他の戦略は、最初の、つまり50または100の力のティックの上に、各ノードの半径をゼロからゼロに徐々に増やすことです。 one.orgデータサイト
所属していません StackOverflow