我正在使用 d3.stack 创建堆叠面积图,但如果我在每一层中没有相同数量的项目,则会出现错误。我从这样的一组数据开始:
[
{key:'Group1',value,date},
{key:'Group1',value,date},
{key:'Group1',value,date},
{key:'Group2',value,date},
{key:'Group2',value,date}
]
在我通过 nest() 和 stack() 运行它之后,我最终得到了这种格式,正如预期的那样:
[
{key: 'Group1',
values: [ {key,value,date}, {key,value,date}, {key,value,date} ] },
{key: 'Group2',
values: [ {key,value,date}, {key,value,date} ] }
]
我稍微修改了一个堆叠区域示例来演示这个 jsFiddle 中的问题:http: //jsfiddle.net/brentkeller/rTC3c/2/
如果您删除 sourceData 数组中的任何一个数据点,您将在控制台中看到错误消息“无法读取未定义的属性 '1'”。
有没有办法让 d3.stack 只为丢失的数据点假设零值?如果没有,是否有一个优雅的解决方案来填补缺失值?