[英]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.