gpt4 book ai didi

javascript - Angularjs 中的 ElasticSearch 到 NVD3

转载 作者:行者123 更新时间:2023-12-03 10:54:00 24 4
gpt4 key购买 nike

我正在尝试将 Angularjs 中的数据和 ES 查询传递到 NVD3 以进行可视化,但我是 JS 的新手,并试图弄清楚它。我看到它需要一个带有 k/v 对的单个数组,但是如何将返回的数据转换为该格式?

我的查询:

 esClient.search({
index: 'unitedstates',
size: 5,
body: {
query: {
"match_all" : {}
},
facets: {
tagcloud: {
terms: {
field: 'state'
}
}
}
}
}).then(function (resp) {
$scope.data = resp.facets.tagcloud.terms;
});

响应结果:

Array[10]
0: Object
count: 986
term: "virginia"
__proto__:
Object1:
Object2:
Object3:
Object4

从 NVD3 中,他们期望以以下形式从网站 ( http://nvd3.org/examples/pie.html )

return  [
{
"label": "One",
"value" : 29.765957771107
} ,
{
"label": "Two",
"value" : 0
} ,
{
"label": "Three",
"value" : 32.807804682612
} ,
{
"label": "Four",
"value" : 196.45946739256
} ,
{
"label": "Five",
"value" : 0.19434030906893
} ,
{
"label": "Six",
"value" : 98.079782601442
} ,
{
"label": "Seven",
"value" : 13.925743130903
} ,
{
"label": "Eight",
"value" : 5.1387322875705
}
];

最佳答案

如果我理解正确的话,你就可以这样做

$scope.data = [];
for (var i=0; i<resp.length; ++i) {
$scope.data.push({
label: resp[i].term,
value: resp[i].count
});
}

关于javascript - Angularjs 中的 ElasticSearch 到 NVD3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28332777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com