我正在尝试使用Vega可视化来自Elasticsearch的查询结果。
elasticsearch的实际响应将类似于下面第一个数据条目“ es_response”中的响应。我需要将该响应数据分为两个不同的数据,分别命名为histogram_data
和rule_data
我尝试使用format: { property: "..." }
提取每个子数据中的值(如下所示),但是该语言不允许这样做。
我还尝试了使用各种不同的Transforms组合来分离数据,但是收效甚微。
做到这一点的最佳方法是什么?
Link to the original vega-lite source
"data": [
{
"name": "es_response",
"values": {
"aggregations": {
"histogram": [
{"a": 30, "b": 28},
{"a": 40, "b": 55},
{"a": 50, "b": 43},
{"a": 60, "b": 91},
{"a": 70, "b": 81},
{"a": 80, "b": 53},
{"a": 90, "b": 19},
{"a": 100, "b": 87},
{"a": 110, "b": 52}
],
"percentiles": {
"values": [
{
"key": 50,
"value": 100
}
]
}
}
}
},
{
"name": "histogram_data",
"source": "es_response",
/*
* This doesn't work, but I really wish it did
*/
"format": { "property": "aggregations.histogram"}
},
{
"name": "percentile_data",
"source": "es_response",
/*
* Same here
*/
"format": { "property": "aggregations.percentiles.values"}
}
]
答案 0 :(得分:0)
这取决于。 :) 您是否要通过网址使用elasticsearch查询?
然后,您可以创建两个命名的数据条目,并使用jsonˋformatˋ选项指定根。
或者,如果希望数据内联,则可以使用ˋdatasetˋ属性。
更多说明可以在这里找到: https://vega.github.io/vega-lite/docs/data.html
答案 1 :(得分:0)
这是Vega-Lite中的一个错误,目前可在https://github.com/vega/vega-lite/issues/5034上进行跟踪。