位置力
在给定维度上,x 和 y 位置力将节点推向所需位置,并具有可配置的强度。 radial 力类似,但它将节点推向给定圆上的最近点。力的强度与节点位置和目标位置之间的一维距离成正比。虽然这些力可以用于定位单个节点,但它们主要用于应用于所有(或大多数)节点的全局力。
forceX(x)
来源 · 创建一个沿x轴指向给定位置 x 的新位置力。如果未指定x,则默认为 0。
const x = d3.forceX(width / 2);
x.strength(strength)
来源 · 如果指定了strength,则将强度访问器设置为指定数字或函数,重新评估每个节点的强度访问器,并返回此力。strength 决定了节点x速度的增加量:(x - node.x) × strength。例如,值为 0.1 表示节点应在每次应用时从当前x位置移动到目标x位置的十分之一。较高的值会使节点更快地移动到目标位置,通常会以其他力或约束为代价。不推荐使用范围 [0,1] 之外的值。
如果未指定strength,则返回当前强度访问器,该访问器默认为
function strength() {
return 0.1;
}
强度访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的强度仅在初始化力或使用新的strength调用此方法时重新计算,而不是在每次应用力时重新计算。
x.x(x)
来源 · 如果指定了x,则将x坐标访问器设置为指定数字或函数,重新评估每个节点的x访问器,并返回此力。如果未指定x,则返回当前x访问器,该访问器默认为
function x() {
return 0;
}
x访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的目标x坐标仅在初始化力或使用新的x调用此方法时重新计算,而不是在每次应用力时重新计算。
forceY(y)
来源 · 创建一个沿y轴指向给定位置 y 的新位置力。如果未指定y,则默认为 0。
const y = d3.forceY(height / 2);
y.strength(strength)
来源 · 如果指定了strength,则将强度访问器设置为指定数字或函数,重新评估每个节点的强度访问器,并返回此力。strength 决定了节点y速度的增加量:(y - node.y) × strength。例如,值为 0.1 表示节点应在每次应用时从当前y位置移动到目标y位置的十分之一。较高的值会使节点更快地移动到目标位置,通常会以其他力或约束为代价。不推荐使用范围 [0,1] 之外的值。
如果未指定strength,则返回当前强度访问器,该访问器默认为
function strength() {
return 0.1;
}
强度访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的强度仅在初始化力或使用新的strength调用此方法时重新计算,而不是在每次应用力时重新计算。
y.y(y)
来源 · 如果指定了y,则将y坐标访问器设置为指定数字或函数,重新评估每个节点的y访问器,并返回此力。如果未指定y,则返回当前y访问器,该访问器默认为
function y() {
return 0;
}
y访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的目标 y 坐标仅在初始化力或使用新的y调用此方法时重新计算,而不是在每次应用力时重新计算。
forceRadial(radius, x, y)
来源 · 创建一个指向以⟨x,y⟩ 为中心的、指定 radius 的圆的新位置力。如果未指定x 和 y,则默认为⟨0,0⟩。
const radial = d3.forceRadial(r, width / 2, height / 2);
radial.strength(strength)
来源 · 如果指定了strength,则将强度访问器设置为指定数字或函数,重新评估每个节点的强度访问器,并返回此力。strength 决定了节点x 和 y 速度的增加量。例如,值为 0.1 表示节点应在每次应用时从当前位置移动到圆上最近点的十分之一。较高的值会使节点更快地移动到目标位置,通常会以其他力或约束为代价。不推荐使用范围 [0,1] 之外的值。
如果未指定strength,则返回当前强度访问器,该访问器默认为
function strength() {
return 0.1;
}
强度访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的强度仅在初始化力或使用新的strength调用此方法时重新计算,而不是在每次应用力时重新计算。
radial.radius(radius)
来源 · 如果指定了radius,则将圆的radius 设置为指定数字或函数,重新评估每个节点的radius 访问器,并返回此力。如果未指定radius,则返回当前radius 访问器。
radius 访问器在模拟中的每个 节点 上调用,传递节点及其基于零的索引。然后,将生成的数字存储在内部,这样每个节点的目标半径仅在初始化力或使用新的radius调用此方法时重新计算,而不是在每次应用力时重新计算。
radial.x(x)
来源 · 如果指定了x,则将圆中心的x坐标设置为指定数字,并返回此力。如果未指定x,则返回中心的当前x坐标,该坐标默认为零。
radial.y(y)
来源 · 如果指定了y,则将圆中心的 y 坐标设置为指定数字,并返回此力。如果未指定y,则返回中心的当前 y 坐标,该坐标默认为零。