2016-11-14 6 views
1

D3v4でノードを更新する必要のあるフォースレイアウトに取り組んでいます。私はAdding new nodes to Force-directed layout(D3v2)とmbostockのblock(D3v3)を追跡しましたが、私はD3v4でどのように同じ効果を達成するかについてはあまりよく分かりません。ここで私はこれまで持っているものです:D3v4でのフォースレイアウトの更新

http://bl.ocks.org/danielcompton/2189f9571e306f3084e5c2a913002eaf

私が見ている問題は、私は力のレイアウトに二度目に同じデータを追加するとき、それはまた、ノードの位置をリセットし、ということですより少ないアルファでそれらをリセットするように思われるので、クリックされるまで完全に拡張されません。ノードとリンクを更新するときに、アルファを設定する必要がありますか?

私はD3 v4: Update force layoutを見ましたが、これは異なる(しかし関連する)質問です。

誰でもD3 v4でこれを達成するためのヒントはありますか?

答えて

0

シミュレーションは、あなたがそれを扱う方法が低いアルファ値で始まっているようです。私はちょうどhandleGraph.alpha(1)とアルファ値をリセットする場合、それは私の側にトリックを行います。

simulation 
    .nodes(graph.nodes) 
    .on("tick", ticked) 
    .alpha(1); 
0

は、データを追加した後、あなたはシミュレーションのレイアウトを再起動するsimulation.alpha(1).restart()を使用することができます。

関連する問題