如何让 vega-lite 中的 y 轴刻度成为均匀分布的“漂亮”整数?

问题描述 投票:0回答:1

我第一次在 deneb 中使用 vega-lite。我创建了一条具有多个 y 轴的线。在右侧 y 轴上,Vega 自动将数据点的精确值指定为刻度标签和间隔(参见附图)。例如,对于 % 轴,我希望它为 20%、25%、30%...我希望刻度为整数,刻度之间的间隔均匀。与左侧 y 轴的操作方式类似。我尝试过“tickCount”,但不起作用。我也将我的代码粘贴在下面。会不会是数据类型的问题?非常感谢任何帮助!

3 轴图

我尝试允许 vega 自动分配刻度和间隔,因为我预计默认值是使用整数。所发生的情况是 vega 使用了数据表的精确值作为刻度和间隔。

 `{
      "data": {"name": "dataset"},
      "encoding": {
        "x": {
          "field": "PERIOD_YEAR",
          "type": "nominal"
          }
   },
    "layer": [
    {
      "mark": {
        "type": "line"
      },
      "encoding": {
          "y":{
            "field": "QTY",
            "type": "quantitative"
        }
      }
    },
   {
      "mark": {
        "type": "line"
      },
      "encoding": {
        "y":{
          "field": "GM%_Less LC__formatted",
          "sort":"-y"
          }
        }
      },
    {
    "mark": {
    "type": "line"
    },
    "encoding": {
    "y": {
    "field": "GM $/unit_Less LC__formatted",
    "sort":"-y",
    "axis": {"offset":80}
      }
    }
    }
    ],
    "resolve": {"scale": {"y":"independent"}}
    }`

vega-lite deneb yticks
1个回答
0
投票

如果将类型设置为定量,您将获得不错的刻度值。您可以将域范围设置为您想要的任何值。我很困惑,因为我以为你尝试过这个?这就是你想要的结果吗?

enter image description here

{
  "data": {
    "name": "dataset"
  },
  "encoding": {
    "x": {
      "field": "Year"
    }
  },
  "layer": [
    {
      "mark": {
        "type": "line"
      },
      "encoding": {
        "y": {
          "field": "Quantity",
          "type": "quantitative"
        }
      }
    },
    {
      "mark": {
        "type": "line"
      },
      "encoding": {
        "y": {
          "field": "GM %",
          "sort": "-y", "type": "quantitative", "scale":{"zero":false}
        }
      }
    },
    {
      "mark": {
        "type": "line"
      },
      "encoding": {
        "y": {
          "field": "GM $ / Unit",
          "sort": "-y", "type": "quantitative","scale":{"zero":false},
          "axis": {
            "offset": 80
          }
        }
      }
    }
  ],
  "resolve": {
    "scale": {
      "y": "independent"
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.