d3 force レイアウトを使用してグラフを作成し、ノードの位置をデータベースに保存します。
次にグラフを表示するときは、データベースからノードに位置を読み込み、力のレイアウトを開始します。
これにより、レイアウトがわずかに移動します。
force.start() をまったく呼び出さずに、保存されたノード位置をグラフに表示する方法はありますか?
私が欲しいのは、他の誰かが以前に作成した安定したグラフを表示する「読み取り専用」モードです。
/ハンス
d3 force レイアウトを使用してグラフを作成し、ノードの位置をデータベースに保存します。
次にグラフを表示するときは、データベースからノードに位置を読み込み、力のレイアウトを開始します。
これにより、レイアウトがわずかに移動します。
force.start() をまったく呼び出さずに、保存されたノード位置をグラフに表示する方法はありますか?
私が欲しいのは、他の誰かが以前に作成した安定したグラフを表示する「読み取り専用」モードです。
/ハンス
force layoutのドキュメントを読むことをお勧めします。それは本当に良いです。
おっしゃるとおり、ノードごとにpx
との属性を設定する必要があります。次に、各ノードでpy
属性fixed
を設定できます。true
これは、 force.start() を計算しても効果がないことを意味します。
もう 1 つの方法は、アルファ値を 0 に設定してからシミュレーションを開始することです。
force.alpha(0)
.start()
この方法が機能するかどうかはわかりません。そうでない場合は、jsFiddle を投稿してください。