我正在尝试制作 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");