首页 > 解决方案 > 在此示例中,如何按 Vegalite 中的特定字段对颜色堆栈进行排序?

问题描述

我正在尝试查看如何对条形图进行排序,其中颜色通道用于对一些信息进行编码,并且在下面链接的这个图表中,嗯……我很难过。

我正在尝试按“产量”对堆叠的颜色进行排序,因此产量最大的项目位于底部,但在此处保持基于“站点”的分组。

这可能与 vegalite 吗?

根据我在有关排序的文档中阅读的内容,这是我认为可以处理排序的内容,但我运气不佳。

"encoding": {
  "color": {
    "type": "nominal",
    "field": "site",
    "sort": {
      "field":"yield",
      "op": "count",
      "order": "ascending"
    }
  },
  "x": {"type": "nominal", "field": "variety"},
  "y": {"type": "quantitative", "aggregate": "sum", "field": "yield"}

}

我需要做什么才能以这种方式对条形图进行排序?

这是 Vega Editor 中的图表

标签: sortingvega-lite

解决方案


您可以使用https://vega.github.io/vega-lite/docs/stack.html#orderorder中所述的频道

{
  "$schema": "https://vega.github.io/schema/vega-lite/v3.json",
  "data": {"url": "data/barley.json"},
  "mark": "bar",
  "encoding": {
    "color": {"type": "nominal", "field": "site"},
    "y": {"type": "quantitative", "aggregate": "sum", "field": "yield"},
    "order": {"aggregate": "sum", "field": "yield", "type": "quantitative"}
  }
}

在此处输入图像描述


推荐阅读