我想在d3.js中创建一个简单的饼图。我正在使用的请求响应如下所示:
{"record":[{"status":"request"},{"status":"requirements"},{"status":"request"}]};
从我在示例中看到的情况来看,我需要将该对象转换为:
[{"label":"Request", "value":2}, {"label":"Requirements", "value":1}];
我很高兴使用d3函数或下划线或直接javascript来实现这一点,我只是无法自己破解它。任何帮助将不胜感激!
答案 0 :(得分:2)
您可以使用d3.nest()
重新格式化数据:
var data = d3.nest()
.key(function(d){ return d.status; })
.rollup(function(leaves){ return leaves.length; })
.entries(input.record)
.map(function(d){ return {label: d.key, value: d.values}; });