位置力
X軸方向のx とY軸方向の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位置まで10分の1移動することを示します。値を大きくすると、ノードは目標位置に速く移動しますが、他の力や制約が犠牲になる可能性があります。[0,1]の範囲外の値は推奨されません。
strengthが指定されていない場合、現在の強度アクセサを返します。デフォルトは
function strength() {
return 0.1;
}
強度アクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの強度は、力が初期化されたとき、またはこのメソッドが新しいstrengthで呼び出されたときのみ再計算され、力の適用ごとに再計算されることはありません。
x.x(x)
ソースコード · xが指定されている場合、x座標アクセサを指定された数値または関数に設定し、各ノードのxアクセサを再評価して、この力を返します。xが指定されていない場合、現在のxアクセサを返します。デフォルトは
function x() {
return 0;
}
xアクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの目標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位置まで10分の1移動することを示します。値を大きくすると、ノードは目標位置に速く移動しますが、他の力や制約が犠牲になる可能性があります。[0,1]の範囲外の値は推奨されません。
strengthが指定されていない場合、現在の強度アクセサを返します。デフォルトは
function strength() {
return 0.1;
}
強度アクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの強度は、力が初期化されたとき、またはこのメソッドが新しいstrengthで呼び出されたときのみ再計算され、力の適用ごとに再計算されることはありません。
y.y(y)
ソースコード · yが指定されている場合、y座標アクセサを指定された数値または関数に設定し、各ノードのyアクセサを再評価して、この力を返します。yが指定されていない場合、現在のyアクセサを返します。デフォルトは
function y() {
return 0;
}
yアクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの目標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は、各適用において、ノードが現在の位置から円上の最も近い点まで10分の1移動することを示します。値を大きくすると、ノードは目標位置に速く移動しますが、他の力や制約が犠牲になる可能性があります。[0,1]の範囲外の値は推奨されません。
strengthが指定されていない場合、現在の強度アクセサを返します。デフォルトは
function strength() {
return 0.1;
}
強度アクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの強度は、力が初期化されたとき、またはこのメソッドが新しいstrengthで呼び出されたときのみ再計算され、力の適用ごとに再計算されることはありません。
radial.radius(radius)
ソースコード · radiusが指定されている場合、円のradiusを指定された数値または関数に設定し、各ノードのradiusアクセサを再評価して、この力を返します。radiusが指定されていない場合、現在のradiusアクセサを返します。
radiusアクセサは、シミュレーション内の各ノードに対して呼び出され、nodeとその0ベースのindexが渡されます。結果の数値は内部的に保存されるため、各ノードの目標半径は、力が初期化されたとき、またはこのメソッドが新しいradiusで呼び出されたときのみ再計算され、力の適用ごとに再計算されることはありません。
radial.x(x)
ソースコード · xが指定されている場合、円の中心のx座標を指定された数値に設定し、この力を返します。xが指定されていない場合、中心の現在のx座標を返します。デフォルトは0です。
radial.y(y)
ソースコード · yが指定されている場合、円の中心のy座標を指定された数値に設定し、この力を返します。yが指定されていない場合、中心の現在のy座標を返します。デフォルトは0です。