據稱d3沒有采用任何特定的數據fromat,無論它是json還是csv。但我注意到一些奇怪的行爲。摺疊式樹狀分層結構d3
在這個例子中http://bl.ocks.org/mbostock/4339083,輸入文件是JSON所以
d3.json("/d/4063550/flare.json", function(error, flare) {
root = flare;
root.x0 = height/2;
root.y0 = 0;
function collapse(d) {
if (d.children) {
d._children = d.children;
d._children.forEach(collapse);
d.children = null;
}
}
root.children.forEach(collapse); //?
update(root);
});
在這種example,它是裝載
d3.csv("FederalBudget_2013_a.csv", function(csv) {
var data=[];
//Remove all zero values nodes
csv.forEach(function (d) {
var t=0;
for (var i=0; i < sumFields.length; i++) {
t+= Number(d[sumFields[i]]);
}
if (t > 0) {
data.push(d);
}
})
var nest = d3.nest()
.key(function(d) { return d.Level1; })
.key(function(d) { return d.Level2; })
.key(function(d) { return d.Level3; })
.entries(data);
root={};
root.values=nest;
root.x0 = h/2;
root.y0 = 0;
var nodes = tree.nodes(root).reverse(); //?
tree.children(function (d){ return d.children;}); //?
update(root);
});
請澄清爲何有不同的方法csv文件我在哪裏放置了一個quesiton標記。我試圖在第二個例子中看到孩子們,但是沒有任何回報。 謝謝。
謝謝你的迴應!我非常重視您的博客以瞭解,這非常有用!看起來(爲了讓生活更簡單),我們應該嘗試在JSON父/子層次結構中格式化數據,而不是使用csv?除了Brightpoint示例以外,我還沒有看到關於csv的許多文檔以及樹層次結構。 – user1896196
理想的情況下,如果可能的話,json將是值得的努力,但有時我們沒有得到選擇:-)。如果答案是合適的,不要忘記接受它:-)。 – d3noob