6
我有一個JSON文件,如下所示的格式:使用D3與多維數組/對象
{
"John":{
"name":"John",
"counts":[ 1, 5, 10, 6 ]
},
"Steve":{
"name":"Steve",
"counts": [ 6, 4, 50, 40 ]
}
}
我試圖做一個D3的可視化,做一個簡單的柱狀圖爲那些數,左邊有一個名稱標籤。當我有一個數據系列和名字,我能做到這一點,像這樣:
svg.selectAll("rect").data([ 1, 5, 10, 6 ]).enter().append("rect")
.attr("x",function(d,i) { return i*columnWidth; })
.attr("y",function(d) { return (rowHeight-scale(d));})
.attr("width",columnWidth)
.attr("height",function(d) { return snowScale(d); });
svg.selectAll("text").data("John").enter().append("text")
.text(function(d) { return d; })
.attr("x",nameBuffer)
.attr("y",function(d,i) { return rowHeight; })
.attr("font-size", "14px");
這適用於單個行直接提供的數據,與文本標籤到左側,然後一系列的列每個數據點的寬度相同。但是我剛開始使用D3,而且我不能在我的生活中弄清楚如何鏈接一些循環遍歷每個對象的東西,併爲每個對象創建一個新行,每次添加垂直偏移量。
如何循環,爲文件中的每個對象創建一個,然後爲每一行創建文本+列,同時保留不同的嵌套值和數組索引?