簡體   English   中英

如何更改 d3.js 中力導向圖的速度?

[英]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

來自simulation.alphaDecay 文檔

alpha 衰減率決定了當前 alpha 插值到所需目標 alpha 的速度; 由於默認目標 alpha 為零,因此默認情況下它控制模擬冷卻的速度。 更高的衰減率會使模擬更快地穩定下來,但有陷入局部最小值的風險; 較低的值會導致模擬運行時間更長,但通常會收斂到更好的布局。 要讓模擬在當前 alpha 下永遠運行,請將衰減率設置為零; 或者,將目標 alpha 設置為大於最小 alpha。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM