[英]How to change the Speed of a force-directed graph in d3.js?
我在 d3.js v4 中生成了一個力導向圖。
但是我想改變模擬的速度,太快了。 所以,我想放慢速度。 我的模擬如下:
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function (d) { return d.id; }).distance(100).strength(1))
.force("collide", d3.forceCollide(function (d) { return d.r + 8 }).iterations(16))
.force("charge", d3.forceManyBody().strength(-700).distanceMin(100).distanceMax(1000))
.force("center", d3.forceCenter(width / 2, height / 2));
我想讓我的力導向圖變慢。
如果您的問題是節點快速移動,並且您正在尋找以較慢的方式收斂的圖,請使用simulation.alphaDecay
。
alpha 衰減率決定了當前 alpha 插值到所需目標 alpha 的速度; 由於默認目標 alpha 為零,因此默認情況下它控制模擬冷卻的速度。 更高的衰減率會使模擬更快地穩定下來,但有陷入局部最小值的風險; 較低的值會導致模擬運行時間更長,但通常會收斂到更好的布局。 要讓模擬在當前 alpha 下永遠運行,請將衰減率設置為零; 或者,將目標 alpha 設置為大於最小 alpha。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.