我正在使用 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/ http://jsfiddle.net/brentkeller/rTC3c/2/
如果删除 sourceData 数组中的任何一个数据点,您将在控制台中看到错误消息“无法读取未定义的属性‘1’”。
有没有办法让 d3.stack 为缺失的数据点假设零值?如果没有,是否有一个优雅的解决方案来填充缺失值?