vega - 如何将文本字段添加到符号标记
问题描述
我正在尝试在vega 的 github 页面上的force-directed-layout示例中的节点上添加一个文本标记。
我将符号标记转换为组标记,并将“编码”部分移动到子“符号”标记。在这个新的组标记中,我现在还添加了一个文本标记,我给出了节点的名称。
这是节点标记,“on”和“transform”部分被省略,因为它们没有改变。
{
"name": "nodes",
"type": "group",
"zindex": 1,
"from": {
"data": "node-data"
},
"marks": [
{
"type": "symbol",
"encode": {
"enter": {
"fill": {
"scale": "color",
"field": "group"
},
"stroke": {
"value": "white"
}
},
"update": {
"size": {
"signal": "2 * nodeRadius * nodeRadius"
},
"cursor": {
"value": "pointer"
}
}
}
},
{
"type": "text",
"interactive": false,
"encode": {
"enter": {
"fill": {
"value": "black"
},
"fontSize": {
"value": 12
},
"align": {
"value": "center"
},
"text": {
"field": "name"
},
"y": {
"value": -5
}
}
}
}
],
"on": [...],
"transform": [...]
}
期望看到每个节点上方的节点名称,但文本和符号变得不可见。
重现步骤
- 将类型设为“组”,添加“标记”数组,将类型为“符号”的标记对象添加到此标记数组
- -> 节点仍然显示
- 将编码部分移动到嵌套符号组
- -> 节点消失
- 添加文本标记也无济于事
我有一种预感,当您尝试嵌套它同时将数据保留在父级中时,它的“字段”属性会失效,因为当我给它一个固定值时,文本标记确实显示在组中,但我似乎不能想出了如何让它工作。(我认为这是这种方式,因为文档说子标记在省略数据字段时会自动获取父数据)
解决方案
在一个组内,你必须使用{"parent": <field_name>}
来引用一个字段。例如,要引用父级中的字段“组”,请使用:
"field": {"parent": "group"}}
请参阅此处的示例。
推荐阅读
- python - 朴素贝叶斯 MultinomialNB ValueError:维度不匹配
- azure - 流量管理器 Azure 端点公共 IP 地址
- angular - HttpInterceptor 未调用全局错误处理程序
- python - 列表元素的枚举python
- android - Firebase ML Kit 人脸检测,检索实例 ID 失败
- c# - C# 正则表达式返回重复的组
- asp.net-mvc - SQL Server 视图未在 MVC 视图中更新
- bash - 使用 Helm 图表在部署清单中序列化 Pod 的创建
- php - 在 Woocommerce 中的商店更改缺货产品叠加类型
- r - R 在组中拆分以进行并行执行