将Array可视化为Crossfilter维度的值

时间:2014-06-24 10:29:25

标签: d3.js dc.js crossfilter

我正在开发一个具有多个维度的时间序列的可视化工具。 为简化我的情况,每个数据点都有类型的维度,clusterId和一组月份:

    {
    type: "green", 
    clusterId:42, 
    months:[1392185580000, 1394604780000, 1397279580000]
    }, {
    type: "red", 
    clusterId:43, 
    months:[1392185580000]
    }

现在我想在dc.barChart中显示日期,它显示所有数据集的月数作为键(条),以及每个月的观察数作为条的值。 在给定的情况下,它将产生3个条形,第一个高度为2,另一个高度为1.

如何创建此维度并实施分组/缩减功能?

您不必担心按此维度进行过滤,我已经为此维度设置了自定义过滤器。唯一的事就是在barChart上显示条形图。

1 个答案:

答案 0 :(得分:0)

如果我说得对,你需要一些代码,输出:1392185580000: 2, 1394604780000: 1, 1397279580000:1

arr.forEach(function(d) {
    d.months.forEach(function(month) {
        if (!store.hasOwnProperty(month)) {
            store[month]=0;
        }
        store[month]++;
    });
});

demo fiddle