跳至内容

中心力

中心力将节点均匀地平移,使所有节点的平均位置(如果所有节点具有相同的权重,则为质心)位于给定的位置 ⟨x,y⟩。这种力会在每次应用时修改节点的位置;它不会修改速度,因为这样做通常会导致节点超过目标中心并围绕目标中心振荡。这种力有助于将节点保持在视窗的中心,并且与 位置力 不同,它不会扭曲它们之间的相对位置。

forceCenter(x, y)

源代码 · 创建一个新的中心力,具有指定的 x-y- 坐标。如果未指定 xy,则它们默认为 ⟨0,0⟩。

js
const center = d3.forceCenter(width / 2, height / 2);

center.x(x)

源代码 · 如果指定了 x,则将居中位置的 x 坐标设置为指定的值,并返回此力。如果未指定 x,则返回当前的 x 坐标,默认为零。

center.y(y)

源代码 · 如果指定了 y,则将居中位置的 y 坐标设置为指定的值,并返回此力。如果未指定 y,则返回当前的 y 坐标,默认为零。

center.strength(strength)

示例 · 源代码 · 如果指定了 strength,则设置中心力的强度。例如,将强度降低至 0.05 会在节点进入或离开图形的交互式图形中减轻移动。如果未指定 strength,则返回当前的力强度,默认为 1。