javascript - 使用 D3 嵌套函数忽略组

标签 javascript d3.js

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

我目前正在尝试使用 d3.nest 和 rollup 函数对数据进行分组。我的目标是对数据进行分组,但在最终输出中排除“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%。

最佳答案

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

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

关于javascript - 使用 D3 嵌套函数忽略组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33572531/

相关文章:

javascript - 保存或销毁数据/DOM 元素?哪个占用资源多?

javascript - 无法创建自动填充数组而不手动写入

javascript - 使用 zoom.center 转换 d3v6 Observable 示例

javascript - 在单击的文本元素上绘制箭头?

javascript - 获取表属性的最后一行

javascript - 在 div 的边界内动画图片

javascript - 如何阻止调用 javascript 函数的链接跳转到页面顶部

javascript - 这是正确的 json 语法吗?

javascript - 在 D3.js 中创建自定义折线图

javascript - 在 Angular 中的 CSS 转换后渲染 JS