还使用颜色编码时如何在 vega-lite 中使用 zero=false?

How to use zero=false in vega-lite when also using a color encoding?

我想知道如何让我的 y 轴从零开始?它通常对我有用,但如果我添加颜色编码(见下文),它就不再工作了,而是我看到了零。

    {
      "data": {"name": "d"},
      "mark": {"type": "bar"},
      "encoding": {
            "color": {"type": "nominal", "field": "group"},
            "x":     {"type": "nominal", "field": "model"},
            "y": {
              "type": "quantitative",
              "field": "inf_f1",
              "scale": {"zero": false}
            }
          },
      "$schema": "https://vega.github.io/schema/vega-lite/v4.0.2.json",
      "datasets": {
        "d": [
          {
            "model": "lr-bow",
            "inf_f1": 0.7991841662090597,
            "group" : "A"
          },
          {
            "model": "fcn-bow",
            "inf_f1": 0.8220151833558302,
            "group" : "B"
          }
        ]
      }
    }

比例尺包含零的原因是默认情况下条形是堆叠的,并且每个条形都有一个隐含的堆叠 zero-height 条形用于未出现的组,但会影响自动选择的轴限制。您可以通过在 y 编码 (view in editor) 中将 stack 设置为 "none" 来解决此问题:

{
  "data": {"name": "d"},
  "mark": {"type": "bar"},
  "encoding": {
    "color": {"type": "nominal", "field": "group"},
    "x": {"type": "nominal", "field": "model"},
    "y": {
      "type": "quantitative",
      "field": "inf_f1",
      "stack": "none",
      "scale": {"zero": false}
    }
  },
  "datasets": {
    "d": [
      {"model": "lr-bow", "inf_f1": 0.7991841662090597, "group": "A"},
      {"model": "fcn-bow", "inf_f1": 0.8220151833558302, "group": "B"}
    ]
  }
}