忽略具有D3嵌套功能的组

时间:2015-11-06 17:39:10

标签: javascript d3.js

我有一些数据,在csv的给定列中,有六个可能的值: 1,2,3,4,5,NaN的。

我目前正在尝试使用d3.nest和汇总函数对数据进行分组。我的目标是对数据进行分组,但在最终输出中排除“NaN”值。

这是我目前的代码:

            var nested = d3.nest()
                           .key(function(d){return d[question];
                           })
                           .rollup(function(leaves){
                                var total = data.length
                                var responses = leaves.length;

                                return {
                                    'responses' : responses,
                                    'percent' : responses/total
                                };
                            })
                           .entries(data)

如您所见,我想同时返回每个类别的计数以及它们所代表的总数的百分比。在移除NaN之后,我还希望移除以所有其他类别的百分比值表示的NaN,使得它们总和为100%。

1 个答案:

答案 0 :(得分:1)

最简单的方法是在将数据传递给NaN之前删除包含d3.nest()的行:

var filtered = data.filter(function(d) { return d.question !== 'NaN'; });