使用热图进行交叉过滤 dc.js

Crossfiltering with heatmap dc.js

尝试使用热图(构建为制图)和行图构建 simple dashboard。选择区域,我希望在行图上看到变化,反之亦然。但是这样不行。

var dim = ndx.dimension(d=>[d.x,d.y,d.region])

var group = dim.group().reduce(
    (p,v)=>{
        ++p.count;
        p.total+=v.salary;
        p.avg_salary=p.total/p.count;
return p
},
(p,v)=>{
    --p.count;
    p.total-=v.salary;
    p.avg_salary=p.total/v.count;
return p
},
()=>({avg_salary: 0,count: 0,total:0})
)


var graduationDim = ndx.dimension(d=>d.graduation)
var graduationGroup = graduationDim.group().reduce(
        (p,v)=>{
        ++p.count;
        p.total+=v.salary;
        p.avg_salary=p.total/p.count;
return p
},
(p,v)=>{
    --p.count;
    p.total-=v.salary;
    p.avg_salary=p.total/v.count;
return p
},
()=>({avg_salary: 0,count: 0,total:0}))

我做错了什么?非常感谢任何帮助或建议。 谢谢

这是你的 reduce-remove 函数中的一个错误,v.count 应该是 p.count:

(p,v)=>{
    --p.count;
    p.total-=v.salary;
    p.avg_salary=p.total/p.count;
return p
},

由于您的原始数据中不存在此字段,因此您得到的可能是 NaN。

Working fork of your codepen.