dc.js饼图和例子

时间:2013-08-15 21:45:12

标签: crossfilter dc.js

我有这样的记录:

{
{"Pass": "10", "Fail": "20", "Untested": "40"}
{"Pass": "20", "Fail": "40", "Untested": "50"}
{"Pass": "30", "Fail": "50", "Untested": "60"}
...
}

显然,total = pass + fail + untested。我想总结这些值中的每一个,然后最后使用dc.js显示一个饼图,其中显示总Pass,总Fail,总未测试。我找不到一个很好的例子。

在下面的示例中,每条记录都转换为二进制损失/增益值。然后饼图显示汇总的损失/收益。我需要在收集级别聚合,而不是单个记录级别。我怎样才能做到这一点 ?

非常感谢任何帮助。

价:

http://nickqizhu.github.io/dc.js/

1 个答案:

答案 0 :(得分:4)

查看此jsfiddle

中的示例

诀窍是修改输入数据,以便为结果上的所有记录创建维度。所以数据应如下所示:

[{"result":"Pass","value":"10","_id":0},
{"result":"Fail","value":"20","_id":0},
{"result":"Untested","value":"40","_id":0},
{"result":"Pass","value":"20","_id":1},
{"result":"Fail","value":"40","_id":1},
{"result":"Untested","value":"50","_id":1},
{"result":"Pass","value":"30","_id":2},
{"result":"Fail","value":"50","_id":2},
{"result":"Untested","value":"60","_id":2}] 

我使用我刚刚创建的名为melt的新js库来完成此操作,但是自己复制相同的逻辑会相当简单。这也是最近user list discussion中的另一个例子。