位置力
x 和 y 位置力會將節點推向給定維度上具有可設定強度的目標位置。徑向力類似,但它會將節點推向給定圓上最接近的點。力的強度與節點位置和目標位置之間的一維距離成正比。雖然這些力可用於定位個別節點,但它們主要用於適用於所有(或大部分)節點的全局力。
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;
}
強度存取器會針對模擬中的每個 節點 呼叫,並傳遞 節點 及其從 0 開始的 索引。結果數字會儲存在內部,因此每個節點的強度只會在初始化力時或以新的 強度 呼叫此方法時重新計算,而不是在每次套用此力時重新計算。
x.x(x)
原始碼 · 如果指定 x,會將 x 座標存取器設定為指定的數字或函式,重新評估每個節點的 x 存取器,並傳回此力。如果未指定 x,會傳回目前的 x 存取器,其預設值為
function x() {
return 0;
}
x 存取器會針對模擬中的每個 節點 呼叫,並傳遞 節點 及其從 0 開始的 索引。結果數字會儲存在內部,因此每個節點的目標 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;
}
強度存取器會針對模擬中的每個 節點 呼叫,並傳遞 節點 及其從 0 開始的 索引。結果數字會儲存在內部,因此每個節點的強度只會在初始化力時或以新的 強度 呼叫此方法時重新計算,而不是在每次套用此力時重新計算。
y.y(y)
原始碼 · 如果指定 y,則將 y 座標存取器設定為指定的數字或函式,重新評估每個節點的 y 存取器,並傳回此力。如果未指定 y,則傳回目前的 y 存取器,其預設為
function y() {
return 0;
}
y 存取器會針對模擬中的每個 節點 呼叫,傳遞 節點 及其從 0 開始的 索引。然後將結果數字內部儲存,使得每個節點的目標 y 座標僅在初始化力時或使用新的 y 呼叫此方法時重新計算,而不是在每次套用此力時。
forceRadial(radius, x, y)
原始碼 · 建立一個新的位置力,朝向指定 radius 的圓形,圓心位於 ⟨x,y⟩。如果未指定 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;
}
強度存取器會針對模擬中的每個 節點 呼叫,並傳遞 節點 及其從 0 開始的 索引。結果數字會儲存在內部,因此每個節點的強度只會在初始化力時或以新的 強度 呼叫此方法時重新計算,而不是在每次套用此力時重新計算。
radial.radius(radius)
原始碼 · 如果指定 radius,則將圓形 radius 設定為指定的數字或函式,重新評估每個節點的 radius 存取器,並傳回此力。如果未指定 radius,則傳回目前的 radius 存取器。
半徑存取器會呼叫模擬中的每個節點,傳遞節點及其以 0 為基底的索引。然後將結果數字內部儲存,以便每個節點的目標半徑只會在力初始化或使用新的半徑呼叫此方法時重新計算,而不是在每次套用力時重新計算。
radial.x(x)
來源 · 如果指定 x,則將圓心 x 座標設定為指定的數字並傳回此力。如果未指定 x,則傳回中心目前的 x 座標,預設為零。
radial.y(y)
來源 · 如果指定 y,則將圓心 y 座標設定為指定的數字並傳回此力。如果未指定 y,則傳回中心目前的 y 座標,預設為零。