web-dev-qa-db-ja.com

D3は、ドラッグアンドドロップをサポートする指向グラフを強制して、ドロップ時に選択したノードの位置を固定します

力の有向グラフの例はここにあります: http://bl.ocks.org/950642

ドラッグアンドドロップのサポートを簡単に追加するにはどうすればよいですか?ノードをドロップした場所の現在の場所で固定に設定する必要があります。残りのノードが引き続き「強制指示モード」を使用して、グラフ内の残りのノードを自動的に配置することが重要です。

https://github.com/mbostock/d3/wiki/Force-Layout

私は少し遊んで成功しませんでしたが、上で説明したようなサポートを追加する方法について誰かが私に簡単な例を教えてくれるかどうか疑問に思っています。

23
norrs

ノードに接続された2つの「ドラッグ」リスナー(自分のリスナーとforce.drag)と戦うのは理想的ではないことがわかった後、最終的に機能しました。

独自の「ドラッグ」リスナーのみを用意し、tick()を手動で呼び出す方がはるかに優れています。これは、ドラッグするノード上のすべての新しいノード位置にノードを配置するためのフォースグラフを取得するための重要な機能です。

実例: http://bl.ocks.org/2883411

30
norrs