2017-06-08 14 views
1

d3 v3からv4への強制的なグラフを変換しようとしています。私のプロジェクトはここにある:d3.jsノードを解放していません

https://bl.ocks.org/anonymous/337d113cb77c3695ac6959bebe728795

はなぜ法線力のレイアウトに戻してノードを解放するノードをダブルクリック操作ではないでしょうか?ドラッグおよびピン関連の機能は、ノードコードのすぐ下にあります。

答えて

1

d.fxd.fyプロパティを設定すると、ノードはd.fixedにかかわらず移動しません。あなたはここで、これらのプロパティを設定します。

function dragged(d) { 
    d.fx = d3.event.x; 
    d.fy = d3.event.y; 
} 

d3v4 APIのドキュメントから:

与えられた位置にノードを修正するには、次の2つの追加 プロパティを指定することがあります。で

fx - the node’s fixed x-position 
fy - the node’s fixed y-position 

を各ティックの終わりに、任意の力を加えた後、定義されたnode.fxを持つノード はnode.xにこの値をリセットし、node.vxは をゼロに設定します。同様に、定義されたnode.fyを持つノードは、node.yを にリセットし、この値とnode.vyをゼロに設定します。 が以前に修正されたノードの固定を解除するには、node.fxとnode.fyをnullに設定するか、これらの属性を削除してください( )。

私はあなたのブロックからフォークa demoを作るには、この前に読んでいないが、その効果は同じである:私はそれらをに従って配置することを可能にするダブルクリック、上undefinedにd.fxd.fyプロパティを設定します力の図。 - ノードの位置がロックされているかどうかを示すブール固定

:あなたが位置を固定するためにd.fixedの使用が表示される場合があります

理由は、これはV3で使用される方法です。

+0

ありがとう、もう一度。簡単な質問にはお詫び申し上げます。 APIドキュメントを補完する優れたd3 v4の書籍やリソースをご存知ですか? –

+0

私は本をあまり見たことがありません。個人的には、私は主にMikes bl.ocksに依存していました(APIのドキュメントは、通常それらにリンクしています)、私はAPIドキュメント、Stackoverflowを使いこなすきれいで標準的な例を扱いました。そして早く私は多くのd3noobの説明を使用しました。例。リソースの重要な違いの1つは、v3がまだまだ使用されているにもかかわらず、v4で名前空間が変更されているため、間違ったバージョンを見ていないことを保証することです。 –

関連する問題