我在创建堆积条形图时遇到问题,我无法弄清楚如何将尺寸正确应用于面板数据集
我的数据如下:
Date name value
12/1/15 name1 5
12/1/15 name2 6
12/1/15 name3 2
13/1/15 name1 2
13/1/15 name2 7
13/1/15 name3 8
14/1/15 name1 2
14/1/15 name2 5
14/1/15 name3 10
以JSON格式存储
我想创建堆积图表,用于绘制与不同名称相关的值。
据我了解dc-js,我需要提供一个包含日期维度的图表,然后通过不同的名称提供另一个维度,然后对这些值进行分组,但我不确定如何继续。
有谁知道我怎么能这样做?
答案 0 :(得分:1)
以下是如何从the FAQ生成群组:
var group = dimension.group().reduce(
function(p, v) { // add
p[v.type] = (p[v.type] || 0) + v.value;
return p;
},
function(p, v) { // remove
p[v.type] -= v.value;
return p;
},
function() { // initial
return {};
});
(在您的情况下,v.name
代替v.type
。)
基本上,您创建的组会缩减为包含每个堆栈值的对象。
然后使用.group()
和.stack()
的名称和访问者参数。很遗憾,你必须拼出来,因为第一个必须是.group
而其余的.stack
。
如此:
chart.group(group, 'name1', function(d) { return d.name1; })
.stack(group, 'name2', function(d) { return d.name2; })
.stack(group, 'name3', function(d) { return d.name3; })
...
(在SO或网络上某处是循环形式,但我找不到ATM。)