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

如何从Vega-Lite图表数据源中动态设置图表标题?

从Vega-Lite数据中提取图表标题

你可以通过Vega-Lite的表达式语法直接从数据源中提取标题,实现类似SQL取首条数据的逻辑。以下是具体实现方式:

原示例代码

{"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"values": [
{"quater":"1", "sales":"100", "title":"charttitle"},
{"quater":"2", "sales":"200", "title":"charttitle"},
{"quater":"3", "sales":"300", "title":"charttitle"},
{"quater":"4", "sales":"400", "title":"charttitle"}
]
},

"mark": "bar",
"encoding": {
"x": {"field": "quater", "type":"ordinal"},
"y": {"field": "sales", "type": "quantitative"},
},
"title": ???
}

用户参考的伪代码逻辑

"title": (select title from data limit 1); -- 类SQL写法
-- 或标准SQL写法
"title": (select top 1 title from data)

实现方案

在Vega-Lite中,你可以使用表达式语法直接引用数据集的第一条记录的title字段。将"title": ???替换为以下内容:

"title": {"text": {"expr": "data('source_0')[0].title"}}

完整示例代码

{"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"values": [
{"quater":"1", "sales":"100", "title":"charttitle"},
{"quater":"2", "sales":"200", "title":"charttitle"},
{"quater":"3", "sales":"300", "title":"charttitle"},
{"quater":"4", "sales":"400", "title":"charttitle"}
]
},

"mark": "bar",
"encoding": {
"x": {"field": "quater", "type":"ordinal"},
"y": {"field": "sales", "type": "quantitative"},
},
"title": {"text": {"expr": "data('source_0')[0].title"}}
}

说明

  • data('source_0'):Vega-Lite默认会将第一个数据源命名为source_0,如果你的数据源有自定义名称,替换成对应的名称即可。
  • [0]:取数据集中的第一条记录。
  • .title:提取该记录中的title字段值作为图表标题。

内容的提问来源于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 23:27:29