API中的描述令人困惑。我希望target
是模拟停止滴答声的值,但是target
的作用未在API中定义。 API中也未定义alpha
本身,但我在另一个网站上发现了它:
https://roshansanthosh.wordpress.com/2016/09/25/forces-in-d3-js-v4/
现在使用官方API:
simulation.alphaMin([min])
simulation.alphaTarget([target])
最佳答案
的确,诸如alphaMin
和alphaTarget
之类的概念确实很难理解,最重要的是,它们在文档中并未得到很好的解释。
您在comment中几乎完全正确:
因此,您难以理解这些概念的部分是要了解“alphaTarget的目的是什么”。这很简单:
如您所知,alphaMin
设置了最小的alpha值,当当前的alpha值低于该值时,它将负责停止模拟。因此,如果我们将alphaTarget
设置为alphaMin
以上的值,则模拟永远不会停止。
例如,看看这个 fork 的bl.ocks,我将alphaTarget
设置为0.8:https://bl.ocks.org/GerardoFurtado/91368069a381009d30468aa9774c0de3/e58316dfdb05b68b02e5692c26b360c990da0383
如您所见,该模拟将永远运行。
当然,即使alphaTarget
值较高,如果alphaMin
较高,则模拟也会停止,但是会以一种非常不愉快和突然的方式进行。例如,alphaMin = 0.991
和alphaTarget = 0.99
:https://blockbuilder.org/GerardoFurtado/72961f5e63eb75b6202d9e24dc25e67b