我有一个数据集,该数据集的每一行都有多个“值”,例如:
"data": {
"values": [
{"date": "2020-01-01", "red":1, "green": 2},
{"date": "2020-01-02", "red":3, "green": 4},
{"date": "2020-01-03", "red":5, "green": 3},
]}
根据我对条形图的理解,每个条形都需要自己的“行”。 是否有一种内置的方式可以在Vega Lite中转置以上数据并创建条形图(红色和绿色堆叠在一起,因此总计1/1上为3,1 / 2上为7,1 / 3上为8,依此类推) )?
非常感谢您的帮助, J
答案 0 :(得分:0)
是的,这正是Fold Transform设计的目的。例如(vega editor):
{
"data": {
"values": [
{"date": "2020-01-01T00:00:00", "red": 1, "green": 2},
{"date": "2020-01-02T00:00:00", "red": 3, "green": 4},
{"date": "2020-01-03T00:00:00", "red": 5, "green": 3}
]
},
"transform": [{"fold": ["red", "green"], "as": ["color", "value"]}],
"mark": "bar",
"encoding": {
"x": {"field": "date", "type": "ordinal", "timeUnit": "yearmonthdate"},
"y": {"type": "quantitative", "field": "value"},
"color": {"field": "color", "type": "nominal", "scale": null}
}
}
一些注意事项:
"scale": null
会使颜色从数据中绘制出来,而不是生成从数据值到色标的映射。