如何在Vega中按匹配title值条件高亮树形图节点
高亮树形图中所有title匹配节点的交互改造方案
直接替换原有nodeHighlight信号的update逻辑即可实现需求,修改后的完整代码如下:
{ "name": "nodeHighlight", "value": "[0]", "on": [ { "events": { "type": "mouseover", "markname": "node" }, "update": "pluck(filter(data('treeCalcs'), d => d.title === datum.title), 'id')" }, { "events": { "type": "mouseout" }, "update": "[0]" } ] }
关键逻辑说明:
data('treeCalcs'):获取树形图的完整数据集(对应你原代码中的treeCalcs数据源)filter(..., d => d.title === datum.title):筛选出数据集中所有title字段与当前鼠标悬停节点datum.title完全匹配的条目pluck(..., 'id'):从筛选后的结果中提取节点id,生成供高亮使用的id列表,保持与原有高亮逻辑的适配性
内容的提问来源于stack exchange,提问作者Bill Coleman
相关产品推荐
相关产品推荐

