如何从 dc.js 中的任何维度按自定义值过滤记录?

How to filter record by custom value from any dimension in dc.js?

如何从任何维度中删除自定义记录。在下面的情况下,我如何仅过滤类别 'S' 并允许其余类别在维度中?

示例

let data = [
{category:'A',value:10},
{category:'B',value:11},
{category:'S',value:12},
{category:'A',value:14},
{category:'B',value:12},
]

let ndx = crossfilter(data);

let dim= ndx.dimension(function(d){
    if(d.category != "S") return d.category;
})

以上代码进入循环,应用程序崩溃。我不想为此维度创建单独的数据,而是 link 它与其他交叉过滤器。

我想这很简单,发布问题后我几乎没有做任何研究。

只需操作传递给图表的组参数。代码是这样的。

因为我试图通过键删除值,所以我们先编写一个函数以供进一步使用。

function removeByKey(source_group, value) {
    return {
        all: function() {
            return source_group.all().filter(function(d) {
                return d.key != value;
            });
        }
    };
}

完成此操作后,您在为图表调用组方法的地方调用此方法。 removeByKey 方法的第一个参数是组本身,第二个参数是应该从图表中删除的键值。

 chart
   .dimension(dimension_data)
   .group(removeByKey(dimension_data_group, 'S'))

谢谢:)