3

D3.js V4 を使用して、数百 (場合によっては数千) のノードを動的にロードするグラフを作成しました。その力を調整しようとすると、ノードのクラスターが少なくなる可能性がありますが、結果として、反発がエッジのないノードをキャンバスの境界に押し込みます。

エッジが中心に近い距離に引き寄せられることなく、単一のノードを設定する簡単な方法はないようです

以下はスクリーンショットです (右上隅のノードに注意してください)。 ここに画像の説明を入力

関与する力は次のとおりです。

    var repelForce = d3.forceManyBody()
                     .strength(-200)
                     .distanceMax(400)
                     .distanceMin(150);



var gSimulation = d3.forceSimulation()
    .force('link', d3.forceLink().id((d) => d.id))
    .force('charge', repelForce)
    .force('center', d3.forceCenter(gwidth / 2, gheight / 2));

特にエッジのないノードを調整または最適化するための代替方法を楽しみにしています...

4

1 に答える 1