echarts中两个环形图的tooltip联动显示
时间: 2023-08-18 20:16:35 浏览: 178
要实现两个环形图的tooltip联动显示,需要使用echarts的事件机制。具体步骤如下:
1. 在两个环形图的配置项中,都开启tooltip,并设置相同的tooltip.trigger参数,如:
```
tooltip: {
trigger: 'item',
...
}
```
2. 在页面加载完成后,使用echarts的on方法,监听第一个环形图的鼠标移动事件,如:
```
myChart1.on('mousemove', function(params) {
if (params.componentType === 'series' && params.seriesType === 'pie') {
// 获取第一个环形图当前鼠标所在的数据项索引
var dataIndex = params.dataIndex;
// 调用第二个环形图的tooltip显示方法
myChart2.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: dataIndex
});
}
});
```
3. 在第一个环形图的鼠标移出事件中,调用第二个环形图的tooltip隐藏方法,如:
```
myChart1.on('mouseout', function(params) {
myChart2.dispatchAction({
type: 'hideTip'
});
});
```
4. 同样地,在第二个环形图中也需要监听鼠标移动事件,并实现相同的逻辑,即在第二个环形图中显示第一个环形图的tooltip。
注意事项:
1. 两个环形图的数据要保持一致,即每个数据项的name和value属性要一致。
2. 两个环形图的tooltip的formatter函数要保持一致,以显示相同的内容。
3. 在第一个环形图中,要判断当前鼠标所在的组件类型和系列类型是否正确,以避免误操作。
4. 如果有多个环形图需要联动显示tooltip,可以使用类似的方法实现。
阅读全文