D3.JS和映射桶
我对D3非常陌生,我很难理解如何从D3访问“总和”字段。通过基本聚合,我可以使用以下命令轻松映射字段: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 } }); 如果响应的格式如下所示,则会出现问题: “桶”:[ { "
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;
}, {});