2012-09-19 8 views
6

D3の強制的なグラフレイアウトにビヘイビアを追加すると、ドラッグアンドドロップされたノードがその位置にスティックされ、グラフ内で何が起こるかどうか。私はこのAPIについていくつかの読書をしてきましたが、私はそれを働かせる方法を理解できません。d3フォースグラフ:スティッキーノード

私が解決しようとしている問題は、ユーザーが複雑な力グラフを「選ぶ」ことができるようにすることです。

答えて

11

mousedownでノードのfixedプロパティをtrueに設定します。例えば

node.on("mousedown", function(d) { d.fixed = true; }); 

http://bl.ocks.org/3750558

+0

パーフェクト、それをやりました。本当にありがとう! –

+0

この例では、ノードがクリックされてドラッグされると、そのノードは恒久的に強調表示され、固定されたままです。 「粘着性」から解放するためにもう一度クリックすることは可能ですか? – ericmjl

+0

もちろん、dblclickで 'd.fixed = false'を設定することができます。 – mbostock