Javascript Crossfilter/dc.js中的伪组过滤

Javascript Crossfilter/dc.js中的伪组过滤,javascript,dc.js,crossfilter,Javascript,Dc.js,Crossfilter,我试图理解dc.js常见问题解答中描述的“假组”过滤方法 请参见我的示例: 我想在绘制图表之前按类型筛选数据(要筛选的类型将来自应用程序的另一部分)。基本上,它应该具有与单击行图表中四个条(A、B、C、D)之一相同的效果,但我希望能够从代码中的其他地方控制它,并且应该在绘制图表之前进行 我想我需要在我的名为“type”的组中使用这种方法,例如 } 但我不清楚应该作为f传递什么函数,或者谓词函数是什么 我将感谢任何帮助!谢谢。如果您想让它真正表现为在排字图中单击了类型(这可能是您想要的),那么可以

我试图理解dc.js常见问题解答中描述的“假组”过滤方法

请参见我的示例:

我想在绘制图表之前按类型筛选数据(要筛选的类型将来自应用程序的另一部分)。基本上,它应该具有与单击行图表中四个条(A、B、C、D)之一相同的效果,但我希望能够从代码中的其他地方控制它,并且应该在绘制图表之前进行

我想我需要在我的名为“type”的组中使用这种方法,例如

}

但我不清楚应该作为f传递什么函数,或者谓词函数是什么


我将感谢任何帮助!谢谢。

如果您想让它真正表现为在
排字图中单击了类型(这可能是您想要的),那么可以在任何地方执行此操作:

typeRowChart.filter("A");
如果出于某种原因希望
typeRowChart
保持原样(未过滤),但希望在typeDim上进行过滤,则直接在维度上进行过滤,并调用
dc.redrawAll()

如果希望新选择也对
typeRowChart
进行筛选,则创建一个新的类型维度并对其进行筛选:

var typeDim2 = cf.dimension(function (d) {return d.TYPE;});
typeDim2.filter("A");
dc.redrawAll();

幸运的是,我认为在这种情况下不需要假组模式。:-)

对,如果你不想让这个组出现在屏幕上,也不想过滤,那么这个假组就是。我想FAQ使用“过滤器”这个词来进行不同的操作是令人困惑的,我必须考虑一下。这个答案正是我所需要的,非常感谢!出于好奇,您希望在什么情况下使用假组模式?如果您希望排除特定图表的组,但没有设置全局筛选器,或者为了在单个图表中使用而修改组,则可以使用该模式。在某些情况下,您也可以使用.data()函数来实现这一点,但我的理解是,有时可以使用其他功能。
typeDim.filter("A");
dc.redrawAll();
var typeDim2 = cf.dimension(function (d) {return d.TYPE;});
typeDim2.filter("A");
dc.redrawAll();