當創建具有單個節點的普通Arbor JS圖時,該節點在整個地方抖動,並且不能添加更多節點。Arbor.JS中的單節點錯誤
的問題也被其他用戶報告如下:
https://github.com/samizdatco/arbor/issues/12
很感激修復/解決辦法
當創建具有單個節點的普通Arbor JS圖時,該節點在整個地方抖動,並且不能添加更多節點。Arbor.JS中的單節點錯誤
的問題也被其他用戶報告如下:
https://github.com/samizdatco/arbor/issues/12
很感激修復/解決辦法
這不是一個真正的解決您的幫助,但我計算節點,如果數量小於我將摩擦設置爲1.0
if (nodeCount == 1) {
//Stop single nodes bouncing all over the place
sys.parameters({ friction: '1.0' });
}
您究竟如何計算節點?我一直在試圖計算它們,但是我不知道如何在arbor.js文件之外完成它,因爲它似乎無法訪問節點數組。 – user579674
另一種選擇是用this一個替換physics.js
文件。它有幾個修補程序來補償有關單個節點的問題(包括添加第二個問題的問題)。
試試這個
if (nodeCount == 1) {
sys.parameters({ repulsion: 10, gravity: false, dt: 0.035 })
}
else if (nodeCount > 1 && nodeCount < 30) {
sys.parameters({ repulsion: 1000, gravity: false, dt: 0.35 })
}
else {
sys.parameters({ friction: .1, stiffness: 0.1, repulsion: 1, gravity: false, dt: 0.035 })
}
我們使用這一種變通方法解決方案。它可能比完整的解決方案更像是一種黑客攻擊,但它很容易實現,在大多數情況下工作正常。
我們所做的是,我們確定每次添加或刪除粒子時系統中粒子的數量。如果這個計數等於1,我們在系統中添加一個新的粒子,其顏色設置爲畫布背景顏色。由於節點的顏色與其背景相同,因此不可見。
所以在圖中沒有一個節點。無論何時由於添加或刪除而發生這種情況,我們都會添加這個隱藏的平衡節點。 您可以查看我們的網站以查看上述活動示例:http://www.graphthinker.com。在添加節點時,即使它只有一個(可見)節點,您也可能會看到該圖形仍然具有響應性。
當不再需要它時,例如當另一個節點被添加時,或者當唯一可見節點被移除時,這個隱藏的平衡節點可以被移除。
因爲這我已經轉移到d3.js庫[鏈接](http://mbostock.github.com/d3/),這是一個很好的選擇。 –
當有更多的節點時,問題似乎也出現在其他情況下。例如,我有大約30個節點連接到一箇中央節點,並且該中央節點也開始反彈。 – user579674