我正在尝试显示一段时间内总和的堆叠条形图。数据看起来像这样:
[
{
"date": 12345,
"sumA": 100,
"sumB": 150
},
...
]我将x轴编码为字段"date“。我需要在日期12345的酒吧堆叠在一个部分是100高,另一个,在另一种颜色显示,是150高。
Vega Lite seems to expect the raw data,但这太慢了。为了节省时间,我在服务器端执行此聚合。我是否可以像上面的例子一样,对Vega Lite中的聚集体进行填鸭式进食?
发布于 2019-10-03 23:06:24
您可以使用fold transform将两列合并为一列,然后通道编码负责其余部分。例如(vega editor):
{
"data": {
"values": [
{"date": 1, "sumA": 100, "sumB": 150},
{"date": 2, "sumA": 200, "sumB": 50},
{"date": 3, "sumA": 80, "sumB": 120},
{"date": 4, "sumA": 120, "sumB": 30},
{"date": 5, "sumA": 150, "sumB": 110}
]
},
"transform": [
{"fold": ["sumA", "sumB"], "as": ["column", "value"]}
],
"mark": {"type": "bar"},
"encoding": {
"x": {"type": "ordinal", "field": "date"},
"y": {"type": "quantitative", "field": "value"},
"color": {"type": "nominal", "field": "column"}
}
}

https://stackoverflow.com/questions/58212634
复制相似问题