次のような形式のJSONファイルがあります。
{
"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を始めたばかりであり、各オブジェクトをループしてそれぞれに新しい行を作成し、毎回垂直オフセットを追加する何かをチェーンする方法を一生理解することはできません。
さまざまなネストされた値と配列インデックスを保持しながら、ループしてファイル内の各オブジェクトのを作成し、各行のテキストと列を作成するにはどうすればよいですか?