Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.JS和映射桶_D3.js - Fatal编程技术网

D3.JS和映射桶

D3.JS和映射桶,d3.js,D3.js,我对D3非常陌生,我很难理解如何从D3访问“总和”字段。通过基本聚合,我可以使用以下命令轻松映射字段: var load_data = resp.aggregations.my_summary.buckets.map(function(d) { return { letter: d.key, frequency: d.doc_count } }); 如果响应的格式如下所示,则会出现问题: “桶”:[ { "

我对D3非常陌生,我很难理解如何从D3访问“总和”字段。通过基本聚合,我可以使用以下命令轻松映射字段:

var load_data = resp.aggregations.my_summary.buckets.map(function(d) {
        return {
            letter: d.key,
            frequency: d.doc_count
        }
    });
如果响应的格式如下所示,则会出现问题: “桶”:[ { "1": { “价值”:5975 }, “密钥”:“XXXXXXXXXX”, “单据计数”:5376 },

实际上,我需要的是与原始函数相同的“key”字段,但频率是上面数据的值

谢谢你的帮助!
-John

如果我正确理解了您的问题,您将拥有许多具有相同密钥但频率不同的匿名对象。您希望将每个唯一密钥相加,以合计累积频率

您可以使用该方法来帮助您解决这个问题。我不确定这里需要D3的方式——您是否尝试使用
D3.sum()
方法

var b=[
{key'a',freq:45454},{key'a',freq:4545},
{key'b',freq:1232},{key'b',freq:4544}
];
var计数=b.reduce(功能(p,d){
如果(d.输入p)
p[d.key]+=d.freq;
其他的
p[d.key]=d.freq;
返回p;
}, {});

如果我正确理解了您的问题,您将拥有许多具有相同密钥但频率不同的匿名对象。您希望将每个唯一密钥相加以获得累积频率的总和

您可以使用该方法来帮助您解决这个问题。我不确定这里需要D3的方式——您是否尝试使用
D3.sum()
方法

var b=[
{key'a',freq:45454},{key'a',freq:4545},
{key'b',freq:1232},{key'b',freq:4544}
];
var计数=b.reduce(功能(p,d){
如果(d.输入p)
p[d.key]+=d.freq;
其他的
p[d.key]=d.freq;
返回p;
}, {});