解决echarts中effectScatter类型散点图中emphasis. focus不生效问题

项目场景:

提示:使用echarts类型为effectScatter的散点图的时候想要实现悬浮某个点其余散点隐藏


问题描述:

使用echarts版本在5.0.0以上的时候在使用effectScatter类型散点图的时候使用官方api中emphasis. focus实际效果却是不生效
emphasis: {
    focus: 'series',
    blurScope: 'coordinateSystem'
}

解决方案:

首先判断类型为scatter的散点图使用emphasis. focus实际效果是正确的那么可以先将所有的节点属性设置成scatter类型然后设置emphasis. focus属性 例如:
  {
      name: 'Direct',
      type: 'effectScatter',
      stack: 'total',
      label: {
        show: false
      },
      emphasis: {
        focus: 'series'
      },
      data: [320, 302, 301, 334, 390, 330, 320]
    },

然后添加鼠标事件当悬浮到某一个点上执行:

this.myChart.on('mouseover', (params) => {
        this.scatterHover(params, this.option, this.myChart, this.numIndexAll)
      })
   // 散点悬浮加遮挡处理
    scatterHover(params, option, myChart, numIndexAll) {
      option.series[params.seriesIndex].animation = false
        option.series[params.seriesIndex].type = 'effectScatter'
        myChart.setOption(option)
    }

再添加离开鼠标事件:

 this.myChart.on('mouseout', (params) => {
        this.scatterOut(params, this.option, this.myChart, this.numIndexAll)
      })
 scatterOut(params, option, myChart, numIndexAll) {
      option.series[params.seriesIndex].animation = false
      option.series[params.seriesIndex].type = 'scatter'
      myChart.setOption(option, true)
      }
    },

这样就在悬浮上去是涟漪效果的散点,离开的时候就又恢复成无涟漪效果的散点图了,那么emphasis. focus属性就可以正常使用了效果如下:
在这里插入图片描述
离开之后效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值