私は 2 つのセクションを作成しようとしています: 1 つは月用、もう 1 つは年用 各セクション内: 2 つの円グラフが互いに内側にあるので、
- 月
--> mtd 円
--> lymtd 円 - 年
--> ytd パイ
--> ytd パイ
私は次のように構造化されたデータを持っています:
{range:"month||year",period:"mtd||ytd||lymtd||lyytd",category_id:25,amount:100}
データをネストしました
nested = d3.nest()
.key(function(d){return d.range;})
.key(function(d){return d.period;})
.entries(collection.toD3Json());
私の最初のデータ添付ファイルは次のとおりです。
var blocks = chart.selectAll("svg")
.data(nested, function(d){ return d.key;})
重要なのは、全体を通してオブジェクトの一貫性を維持したいということです。そのため、新しいネストされたデータ構造をアタッチすると、既存のキーが使用されるか、キーが存在しない場合は新しい要素が追加されます。
別の d.key で nested.values を使用したいのですが、方法がわからないため、最初のデータ結合を通過するのに問題があります。これまでの私の最良の推測は次のとおりです。
var circles = blocks.selectAll("g.block")
.data(function(d){ return d.key;})
.enter().append("svg:g")
.attr("class","block");