来自json对象的d3.js图表

时间:2015-01-19 17:15:10

标签: javascript json d3.js underscore.js

我想在d3.js中创建一个简单的饼图。我正在使用的请求响应如下所示:

{"record":[{"status":"request"},{"status":"requirements"},{"status":"request"}]};

从我在示例中看到的情况来看,我需要将该对象转换为:

[{"label":"Request", "value":2}, {"label":"Requirements", "value":1}];

我很高兴使用d3函数或下划线或直接javascript来实现这一点,我只是无法自己破解它。任何帮助将不胜感激!

1 个答案:

答案 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}; });