6

この以前の質問のおかげで、強制レイアウトを使用して、以下のように静的固定レイアウト グラフを作成しましたd3.js

ここに画像の説明を入力

レイアウトをさらにカスタマイズするために、具体的な質問が 2 つあります。

最初に、ノードの位置を決定論的に初期化すると (たとえば、ここで対角線で実行されます。詳細についてはスクリプトを参照してください)、ノードの位置が修正され、ノードの向きがこの初期化とフォース グラフの次元に依存するように見えることに気付きました* . A, D, E, F, I上のグラフのノードを水平に並べるにはどうすればよいですか? つまり、グラフの向きを反時計回りに約 45 度回転させたいと考えています。ノードを中央で水平に初期化しようとしました:

nodes.forEach(function(d, i) { d.x = w / size * i; d.y = h / 2; });

ただし、生成された出力には、初期化された場所ですべてのノードとエッジが水平に含まれています。

次に、力のグラフがsvg要素内で自動的に中央に配置されるというのは本当ですか? いいえの場合、どうすればそうすることができますか? svgはいの場合、要素内の力グラフの中心をどのように指定できますか?

(* 注: 奇妙なことに、フォース グラフの.size([w, h])場所w = hを設定し、対角線に沿ってノードを決定論的に初期化すると、すべてのノードとエッジが出力の対角線に沿って配置されます。なぜですか?)

4

1 に答える 1