如何在 dc.js 上创建一个具有多个维度的组

How to create one group with multiple dimension on dc.js

我正在尝试使用 dc.js 库创建数据可视化。

但是我的数据有多个值字段。

这是我的部分数据:

[{"_1000_1249":0,"_1250_1499":2},{"_1000_1249":1,"_1250_1499":2},{"_1000_1249":2,"_1250_1499":3}]

我想用这样的数据键创建组(计算数据总和):

那么如何创建这样的 dc.js 行图表?

谢谢

我认为您应该重塑数据,使其更适合 Crossfilter 范式。以下内容应该可以满足您的需求:

var data = [{"_1000_1249":0,"_1250_1499":2},{"_1000_1249":1,"_1250_1499":2},{"_1000_1249":2,"_1250_1499":3}]

var updatedData = []
for(var i=0; i < data.length; i++) {
    for(key in data[i]) {
    updatedData.push({
        key: key,
      value: data[i][key]
    })
  }
}

var cf = crossfilter(updatedData)
var dimension = cf.dimension(function(d) { return d.key; })
var group = dimension.group().reduceSum(function(d) { return d.value; })

console.log(group.all())

如果您想进行实验,可以在此处的 JSFiddle 中找到:https://jsfiddle.net/esjewett/1d853fwj/3/