1
我目前使用D3庫進行網絡可視化,更確切地說,是力佈局。D3.js強制佈局網絡的閾值函數的鏈接行程寬度
我使用的是由西蒙·雷珀這裏提供的功能:
http://jsfiddle.net/simonraper/TdHgx/?utm_source=website&utm_medium=embed&utm_campaign=TdHgx
到我的網絡上應用動態閾值。
但是我注意到一個問題,當閾值改變時,網絡的筆畫寬度不正確地顯示。即使在Raper先生的例子中,您也可以看到鏈接的筆畫寬度無緣無故地變化。
快速查看控制檯向我顯示的值是正確的,並且網絡的形狀也是正確的,只顯示鏈接的中間寬度是錯誤的。它似乎是一個索引問題,因爲不正確的值不是隨機的,而是與其他鏈接相對應。
我能找到的最好的是取代:
link=link.data(graph.links);
通過
link = link.data(force.links(), function(d){return d.source.name + "-" + d.target.name; });
在重啓功能。
鏈接的行程寬度現在是正確的,但這樣做的鏈接時,有時會不可見......
如果任何人都更有經驗與D3庫可以幫助我將不勝感激;)
感謝您的迴應,但您的代碼無法正常工作。在將閾值移至2以上後,90%的鏈接消失。此外,還有:link = link.data(graph.links,function(d){return d.source +「 - 」+ d.target;});而不是link.data(force.links(),function(d){return d.source +「 - 」+ d.target;}); – 6uillaum3
請查看我上面的編輯部分...這將解釋爲什麼鏈接會滑動。 – Cyril
我已經知道它是如何工作的:),但如果仔細觀察網絡,您會注意到有些節點已連接,但鏈接不可見。通過查看節點如何移動,您可以快速地看到它們應該連接,但鏈接不顯示。例如,當閾值爲4-5時,您可以看到一些節點在中間組合在一起,但它們的鏈接不可見,並且我已經檢查了它們的值,應該將它們連接起來。編輯:嘗試將它們移到你身邊會看到我的意思,它們是連接的。 – 6uillaum3