2

我正在尝试制作 2 个部分:一个用于月,一个用于年 在每个部分内:彼此内部有 2 个饼图,所以


  • --> mtd 派
    --> lymtd 派
  • 年份
    --> lyytd 派
    --> 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;})

关键是我想始终保持对象的不变性,所以如果我附加一个新的嵌套数据结构,它将使用现有的键或在键不存在时添加新元素。

我在通过第一个数据连接时遇到问题,因为我想将 nested.values 与另一个 d.key 一起使用,但不确定如何操作。到目前为止,我最好的猜测是:

var circles = blocks.selectAll("g.block")
         .data(function(d){ return d.key;})
    .enter().append("svg:g")
         .attr("class","block");
4

0 回答 0