我正在使用強制佈局。通過點擊div元素內部創建新的d3節點。該節點是在點擊時創建的。節點是大小爲50像素×50像素的矩形。在創建節點後立即將其固定屬性設置爲true,以便它不會自行移動。我不打電話給force.drag。按住Ctrl鍵並拖動節點,即可移動節點。可以通過從一個節點向另一個節點拖動鼠標(不需要按住Ctrl鍵)來創建邊。D3強制佈局:如何保持節點間給定的最小距離?
現在,我想添加以下功能。 任何兩個節點之間的最近距離應該大於某個最小值。您可以爲最小距離假設任何正值。讓我們假設100個像素。當任何新節點的創建距離現有節點太近時,節點應該移動,以便任何兩個節點之間的距離變得超過100個像素。類似地,當一個節點移動並且與另一個節點過近時,節點也應移動以保持最小100個像素的距離。
沒有條件要在哪個方向上移動節點。一種方法是檢查座標和距離,然後計算哪些節點要向哪個方向移動多少,並相應地執行代碼。但是,d3中有一種更簡單的方法嗎?
有沒有簡單的方法。強制佈局不支持指定最小距離。 –