You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Deneb(Vega-lite)水平条形图height的step属性如何动态设置?

动态设置Deneb(Vega-Lite)条形图的step高度

可以实现动态step值,不过不能直接在height.step里引用数据转换后的字段(因为顶层配置的执行时机早于数据转换),需要借助Vega-Lite的**信号(Signal)**系统来实现条件判断。

修改后的配置代码

{
  "data": {
    "name": "dataset"
  },
  "signals": [
    {
      "name": "rowCount",
      "update": "length(data('dataset'))"
    },
    {
      "name": "dynamicStep",
      "update": "rowCount < 10 ? 35 : 20"
    }
  ],
  "height": {"step": {"signal": "dynamicStep"}},
  "encoding": {
    "x": {
      "field": "Count_Account",
      "type": "quantitative"
    },
    "y": {
      "field": "Opportunity Description",
      "type": "nominal"
    }
  },
  "layer": [
    {
      "mark": {
        "type": "bar"
      }
    }
  ]
}

关键说明

  • rowCount信号:通过length(data('dataset'))直接获取数据集的行数,比transform计算更适配顶层配置的依赖场景
  • dynamicStep信号:用三元运算符实现条件判断,行数小于10时step设为35,否则设为20
  • height.step:通过{"signal": "dynamicStep"}引用动态计算的信号值,替代固定数值

内容的提问来源于stack exchange,提问作者trimakichan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:39:52