我有格式数据
[
{ "date": dt1, "action": "T", "isRequest": "", "delay": 0 },
{ "date": dt1, "action": "C1", "isRequest": "R", "delay": 10 },
{ "date": dt1, "action": "T", "isRequest": "", "delay": 0 },
{ "date": dt1, "action": "C2", "isRequest": "R", "delay": 20 },
{ "date": dt1, "action": "T", "isRequest": "", "delay": 0 },
... ]
主条形图是关于计数(数组中的1行),所有延迟图表都是关于延迟分布(属性延迟)
按日期主图过滤,更改所有延迟图表上的数据。
到目前为止,这么好。
现在,我想要另一个图表,它与所有延迟图表中的数据子集一起使用,同时考虑属性“action”的过滤器:“C1”。
我可以过滤原始数据并调用crossfilter(filteredData)
,但是在主图上过滤不会反映此图表中的数据。
我试图从Crossfilter dimension and group to filter out data below certain threshold获取灵感
例如上
http://jsfiddle.net/iracic/dtyeL7g7/5/
谢谢
答案 0 :(得分:1)
您可能希望在自定义组中实施过滤器,以便该组仅聚合符合条件的记录。您可以使用像Reductio这样的帮助程序库来执行此操作,并将您的组构建为:
var dim = ndx.dimension(...);
var group = reductio().count(true)
.filter(function(d) { return d.action === "C1"; })(dim.group());
也可以使用自定义组直接执行此操作,但它有点复杂。
不相关:group.reduceCount不接受参数,因此您在示例中传递给它的函数没有做任何事情。