按特定顺序排列堆叠的 Vega Lite 条形图

Order stacked Vega Lite bar graph by specific order

我有以下 VL chart,我希望指定堆栈的顺序与给定域的顺序相匹配。

我看了一下,看到了一些示例,其中可以通过传递列表进行排序来完成标称轴的排序,但我似乎找不到类似的颜色堆栈逻辑。

我了解如何根据一些定量变量进行排序,显然这里按 'metric' 标签排序只是按字母顺序排列,但我想尽可能避免向数据添加额外的列并在 VL 本身中指定它。

Vega-Lite 不支持按特定顺序(而不是根据数据字段,如您在示例中所做的那样)对堆叠字段进行排序。相关功能请求在这里:https://github.com/vega/vega-lite/issues/1734

解决方法是使用计算转换对所需顺序进行编码。可以在这里找到一个简单的例子:https://vega.github.io/vega-lite/docs/stack.html#order