是否可以給邊緣定長?即使我設置了單個邊的長度,物理引擎也會改變它。vis.js固定長度邊緣
我試圖想象3個集羣,每個集羣都有幾百個節點。有一個選項可以將羣集聚合成幾個節點。我想將這些聚集的節點與真正的短邊連接起來,並賦予這些節點很大的質量,這樣他們就會像其他羣集一樣,推翻其他羣集,就像他們有數百個節點時所做的那樣。
是否可以給邊緣定長?即使我設置了單個邊的長度,物理引擎也會改變它。vis.js固定長度邊緣
我試圖想象3個集羣,每個集羣都有幾百個節點。有一個選項可以將羣集聚合成幾個節點。我想將這些聚集的節點與真正的短邊連接起來,並賦予這些節點很大的質量,這樣他們就會像其他羣集一樣,推翻其他羣集,就像他們有數百個節點時所做的那樣。
無法設置固定長度。你可以使用默認springLength
和springConstant
雖然玩不過,收銀臺上的物理文檔:
這似乎是這個問題的答案,這些天是YES!所述network/edges visjs.org docs描述了「長度」選項:
「在物理仿真給出了邊緣的彈簧長度這個值可以 覆蓋其餘部分的彈簧的長度」。
因此,當你設置你的邊緣,你可能會做這樣的事情做出額外的長邊:
myEdges.push({from:'nodeid1', to:'nodeid2', length:300});
默認的長度大約是95,我認爲,這樣的300長度將是正常的三倍。
如果要更改默認的邊長(不包括您已明確設置上邊緣的任何),那麼這就是網絡的「springLength」,所以通過同時使網絡的選項:
var network = new vis.Network(container, data,
{"physics": {"barnesHut": {"springLength":100, "springConstant": 0.04}}}
);
物理引擎可能會限制事物並隱藏您試圖查看的更改,因此您可能還需要調整諸如「springConstant」之類的內容。
您認爲如果我在代碼中進行挖掘以便物理引擎不會改變邊緣的長度,那麼可能會發生這種情況嗎? –