2

私は 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");
4

0 に答える 0