我有一些使用d3.stratify
進行分層的樹型數據,它給了我所假設的是一個合適的數據結構(它包含子項,數據和父項)。但是,當我通過d3.tree()
時,x和y值都是NaN,這使得它們不可能被繪製。根據我見過的例子,我不需要運行d3.hierarchy()
,因爲stratify
對我來說這樣做,而且我已經嘗試使用hierarchy()
,但無論如何都沒有成功。d3 v4:樹圖給出x和y的NaN
我試着在做JSON.stringify(data)
來粘貼這裏的數據,但它給了我一個關於將循環結構轉換爲JSON的錯誤,因此也沒有任何效果。我所知道的是每個圖層(除了最上面的圖層)都有一個children
陣列,一個data
對象和一個parent
對象,所以這一切似乎都是正確的。
編輯:我試過一些測試數據(from this link),我仍然得到x和y的NaN。我複製了treeData,把它通過d3.hierarchy
,然後通過tree()
調用,x和y仍然是NaN。
var treeMap = d3.tree()
.size(width, height2); // 1020, 170 in my case.
var treeData =
{
"name": "Top Level",
"children": [
{
"name": "Level 2: A",
"children": [
{ "name": "Son of A" },
{ "name": "Daughter of A" }
]
},
{ "name": "Level 2: B" }
]
};
treeData = d3.hierarchy(treeData, function(d) { return d.children; });
var nodes = treeMap(treeData); // gives NaN x and y values.