如何从任何维度删除自定义记录。在以下情况下,如何仅过滤类别“ 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;
})
上面的代码进入循环,应用程序崩溃。我不想为此维度创建单独的数据,而是将其与其他交叉过滤器链接。
答案 0 :(得分:1)
我想这很简单,发布问题后我没有做任何研究。
只需操纵要传递到图表的组参数。代码是这样的。
由于我试图通过键删除该值,因此我们首先要编写一个函数以供进一步使用。
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'))
谢谢:)