echarts中series数据数目少于横轴数据时,tooltip根据鼠标事件显示,横轴对应无数据时不显示tooltip,不高亮

7 篇文章 0 订阅
1 篇文章 0 订阅

例如:

横轴数据为['周一','周二','周三','周四','周五','周六','周日'],

series数据为[['周一', 1],['周二', 2],['周三',3],['周五',4],['周六',5],['周日',6]]

echarts的option需添加如下设置:

             tooltip : {

                trigger: 'axis',

                triggerOn: 'none',

                formatter: function (params) {

                   // 自定义

                }

            }

获取echarts实例后(chart为echarts实例)

chart.getZr().on('mousemove', function (params) {

            var pointInPixel= [params.offsetX, params.offsetY];

            if (chart.containPixel('grid',pointInPixel)) {

                var pointInGrid = chart.convertFromPixel({seriesIndex:0},pointInPixel);

                //X轴序号

                var xIndex = pointInGrid[0];

                 //获取当前图表的option

                var op = chart.getOption();

                //获得图表中我们想要的数据

                var xAxis = op.xAxis[0].data[xIndex];

                var xArr = [];

                op.series[0].data.forEach(function(item) {

                    xArr.push(item[0]);

                });

                if (xArr.indexOf(xAxis) != -1) {

                    chart.dispatchAction({

                        type: 'showTip',

                        // 屏幕上的 x 坐标

                        x: pointInPixel[0],

                        // 屏幕上的 y 坐标

                        y: pointInPixel[1]

                    })

                } else {

                    chart.dispatchAction({

                        type: 'hideTip'

                    })

                }

            }

        });

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值