我想用 vegalite 为表现最好的 10 名学生创建一个条形图,但一开始得分最高的学生必须具有特定的颜色,其余部分都保持不变。 我希望这与数据无关,这意味着如果数据发生变化,它不会发生变化。 有什么方法可以在我对数据进行排序时可以对数据进行索引。 如果这可能与 Vegalite 中的任何 expr 或条件有关。 这个东西可以通过参数控制吗?编辑器链接
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"description": "A simple bar chart with embedded data.",
"data": {
"values": [
{"student": "A", "marks": 98},
{"student": "B", "marks": 95},
{"student": "C", "marks": 90},
{"student": "D", "marks": 85},
{"student": "E", "marks": 81},
{"student": "F", "marks": 78},
{"student": "G", "marks": 75},
{"student": "H", "marks": 74},
{"student": "I", "marks": 71}
]
},
"transform": [
{
"sort": [
{"field": "marks", "order": "descending"}
],
"window": [{"op": "rank", "as": "rank"}]
}
],
"mark": {
"type": "bar",
"color": {"expr": "datum.rank==1 ? 'gold' : 'silver'"}
},
"encoding": {
"x": {"field": "student", "type": "nominal", "axis": {"labelAngle": 0}},
"y": {"field": "marks", "type": "quantitative"}
}
}