apache / apache/echarts

[Feature] Series-Graph. emphasis 和highlight事件 无法指定边的高亮问题

Open
#21,213 2 comments 0 reactions 0 assignees View on GitHub
new-feature pending
Dominant language
TypeScript
Stars
67.3k
Forks
19.8k
Avg merge
11d 14h
Merged PRs (30d)
8

Description

### What problem does this feature solve?

我现在想实现如下的效果:高亮指定的节点和边进行高亮,譬如鼠标移动到某节点时,不仅仅只高亮一阶邻居,对于二阶邻居也要高亮;也就是扩展Series-Graph. emphasis=adjacency的相关功能。

Image
目前我通过监听mouseout和mouseover,并设置node和边的opacity,并重新setOption 可以实现,形如代码:
this.chart.on('mouseout', e => {
this.nodes.forEach(n => n.itemStyle.opacity = 1);
this.links.forEach(l => l.lineStyle.opacity = 1);
this.chart.setOption({ series: [{ data: this.nodes, links: this.links }] });
})
但该实现存在问题,就是当图发生graphroam的时候,由于mouseout,mouseover频繁渲染导致卡顿,
我尝试过
this.chart.setOption({ series: [{ data: that.nodes, links: that.links }] },{ notMerge: false, lazyUpdate: true });但效果不明显;
数据规模不大节点和边都不超过500
使用highlight可以实现节点的高亮,但是无法实现边的高亮,请问我怎么在节点的高亮的同时实现边的高亮

### What does the proposed API look like?

0.0

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.