簡體   English   中英

為什么D3 Pack布局意外崩潰?

[英]Why is d3 pack layout crashing unexpectedly?

我的代碼是在這里上bl.ocks.org:

在此處輸入圖片說明

更改選擇標記的值以限制圈數。 如果您玩的不多,它似乎可以工作,但是特定實例(例如,為TE選擇10,然后選擇247)每次都會崩潰。 如果檢查控制台,您會看到問題所在的行是nodes = pack.nodes(data); 我看到了兩種可能性:要么這是d3包布局的錯誤,要么我的數據混亂了。 您能判斷出這兩種情況中的任何一種嗎?如果是,具體問題是什么?

您的代碼中存在一個錯誤,導致子節點重復。 由於子代是重復的,因此包布局中存在無限循環。

我是通過在調試器中設置一個斷點,然后在讓代碼卡住一點之后暫停代碼來發現此問題的。 果然,它被卡在for循環中,該循環中該節點的_pack_next節點本身就是一個循環,從而導致無限循環。 而且很容易看到孩子們的重復。 例如, e.filter(function(d) { return d.name === "Jermichael Finley"; })返回了兩個節點,而不是一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM