2
這個問題 - Fix Node Position in D3 Force-Directed Layout - 介紹瞭如何修復力佈局中節點的位置。僅修復強制佈局中節點的一個維度?
我的問題是如何修復節點的一個維度X或Y,並讓其他維度響應佈局中的力。
這個問題 - Fix Node Position in D3 Force-Directed Layout - 介紹瞭如何修復力佈局中節點的位置。僅修復強制佈局中節點的一個維度?
我的問題是如何修復節點的一個維度X或Y,並讓其他維度響應佈局中的力。
這在D3中不直接支持,但可以通過在tick
處理函數中重置要保持不變的座標來手動完成。
force.on("tick", function() {
nodes.each(function(d) {
d.x = d.px = d.savedX; // similar for y
});
// do other stuff
});
這需要您來存儲與綁定到節點的數據所需的值,在本例中的一個屬性savedX
(儘管你可以明顯地用任何其他名稱,只要它不使用其他任何東西)。
謝謝!對於那些發現這一點的人 - 在這裏的第一段中有一些關於這方面的文檔 - https://github.com/mbostock/d3/wiki/Force-Layout和這裏 - https://github.com/mbostock/d3 /維基/強制佈局上# – Laizer