【问题标题】:Crossfiltering with heatmap dc.js使用热图 dc.js 进行交叉过滤
【发布时间】:2020-05-21 02:35:47
【问题描述】:

尝试使用热图(构建为图表)和行图构建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}))

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

【问题讨论】:

    标签: dc.js crossfilter


    【解决方案1】:

    这是您的 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.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      相关资源
      最近更新 更多