echarts折线图tooltip中如何仅展示鼠标当前位置相应的指标数据

第一次发文章,主要是今天同事提个需求,说一个比较复杂的折线图(大概有10几条线)的线图,tooltip显示的太多,没有办法找到当前要看的线条的数据。我查了echarts的文档只是说把trigger设置为’item‘后才可以自定义单个的显示。而折线图明线是序列线,我用的’axis‘后发现是没有办法自定义单个显示。

在CSDN上找了一下,有博主给了个文档:https://blog.csdn.net/weixin_33778544/article/details/88928801
他在堆叠图中单个显示,但他用的是axisPointer 设置为across时捕捉堆叠值,我试了一下在折线图上是无效的。

无果之下,想到只能捕捉鼠标事件来处理,后来试了一下,果然可行。

最后解决方案如下:

//当 鼠标移到线条上时触发
mycharts.on('mousemove',function(params){                
        window.selectSeries= params.seriesName;        
      });    
 //当 鼠标移出线条时触发 ,如果不处理这个,鼠标移到空白上还有tooltip显示。
 mychartts.on('mouseout', function (params) {
        window.selectSeries = '';
    });         


//tooltip部分
tooltip: {
            trigger: 'axis',            
            formatter:function(params){                
                var res = "";
                for (var i =0;i<params.length;i++){
                    var series = params[i];                          
                    if (series.seriesName == window.selectSeries){
                        res = series.axisValue +"<br/>" + series.marker + series.seriesName + ":" +series.data +"<br/>";                        
                        break;
                    }                    
                }                
                return res;
            }      
 }
 

考虑到图表数据为公司内部系统数据,就不上图了,要有什么问题回复一下,我会尽量解答。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值