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));
特にエッジのないノードを調整または最適化するための代替方法を楽しみにしています...