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

如何在Vega文本框中动态显示数据的text列内容?

动态文本框Vega实现方案

问题需求

需要构建带有动态文本的文本框,现有Vega代码中的文本为固定值,需将其替换为从数据集的text列读取的动态内容。

修改思路

要实现动态文本绑定,需完成两个核心调整:

  • 为文本标记关联指定数据源
  • 将固定文本值替换为数据字段引用

修改后的完整代码

{
  "$schema": "https://vega.github.io/schema/vega/v5.json",
  "autosize": "none",
  "width": 170,
  "height": 80,
  "padding": 10,

  "data": {
    "name": "daten",
    "values": [
      {"c1": "1", "c2": "2", "text": "TextboxText01"},
      {"c1": "1", "c2": "2", "text": "TextboxText02"}
    ]
  },

  "marks": [  
    {"type": "text",
      "data": "daten",
      "encode": {
        "enter": {
          "x": {"value": 80},
          "y": {"value": 20},
          "dx": {"value": 0},
          "text": {"field": "text"},
          "align": {"value": "center"},
          "fontSize": {"value": 14}
        }
      }
    },
    {"type": "text",
      "data": "daten",
      "encode": {
        "enter": {
          "x": {"value": 80},
          "y": {"value": 60},
          "dx": {"value": 0},
          "text": {"field": "text"},
          "align": {"value": "center"},
          "fontSize": {"value": 14}
        }
      }
    }
  ]
}

关键修改点说明

  • 关联数据源:在每个text类型的标记中添加"data": "daten",指定该标记使用名为daten的数据集
  • 绑定动态文本:将text属性的value固定值替换为"field": "text",表示从数据集中读取text字段的内容
  • 修正语法错误:移除了原数据数组中最后一个条目后的多余逗号,避免JSON语法报错

若需两行显示不同文本,只需修改data.values中对应条目的text值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:12:53