9

d3 のフォース レイアウトを実装しました。ただし、私にとっての問題は、レイアウトが画面全体に広がっていないことです。以下はスナップショットです。

ここに画像の説明を入力

右側と左側に空白がたくさんあるので、動的リンク距離でノードを画面全体に広げたいと思います。次のようにリンク距離をランダム化しようとしました。

d3.layout.force()
    .charge(-800)
    .linkDistance(function(d){
        return (Math.random() * (400 - 200) + 1);
    })
    .size([w, h]);

これにより、リンク距離が増加しますが、垂直方向にも増加します。linkStrength() 属性を設定しようとしましたが、うまくいきませんでした。このレイアウトを水平方向にのみ領域全体に広げるにはどうすればよいですか? ページの長方形の領域に合わせてリンク距離を定義する方法はありますか?

4

1 に答える 1