首页 > 其他 > 详细

echarts中使图表循环显示tooltip-封装tooltip的方法轮询显示图表数据

时间:2021-08-25 12:27:26      阅读:23      评论:0      收藏:0      [点我收藏+]

1、一个适用于所有图表斗可用的工具方法

问题:
在做echarts图表时,如何让图标的数据轮询显示,并且鼠标移上去时就停止跳动,移开继续轮询。
解决:

/**
 * @description: 图表tooltip循环显示
 * @author: candy.d.chen
 * @LastEditors: candy.d.chen
 * @LastEditTime: 2021/6/25 10:39
 */
// 内容可以不需要修改
/**
* maChart是echarts初始化的实例对象
* num 是series 里面的data长度,传入值可为option.series[0].data.length
* time 是时间间隔

*/
export function autoPlay(myChart, num, time) {
  const defaultData = { // 设置默认值
    time: 3000,
    num: 100
  };
  if (!time) {
    time = defaultData.time
  }
  if (!num) {
    num = defaultData.num
  }
  let count = 0
  let timeTicket = null
  timeTicket && clearInterval(timeTicket)
  timeTicket = setInterval(() => {
    myChart.dispatchAction({
      type: ‘downplay‘,
      seriesIndex: 0 // serieIndex的索引值   可以触发多个
    })
    myChart.dispatchAction({
      type: ‘highlight‘,
      seriesIndex: 0,
      dataIndex: count
    })
    myChart.dispatchAction({
      type: ‘showTip‘,
      seriesIndex: 0,
      dataIndex: count
    })
    count++
    if (count >= num) {
      count = 0
    }
  }, time)
  myChart.on(‘mouseover‘, (params) => {
    clearInterval(timeTicket)
    myChart.dispatchAction({
      type: ‘downplay‘,
      seriesIndex: 0
    })
    myChart.dispatchAction({
      type: ‘highlight‘,
      seriesIndex: 0,
      dataIndex: params.dataIndex
    })
    myChart.dispatchAction({
      type: ‘showTip‘,
      seriesIndex: 0,
      dataIndex: params.dataIndex
    })
  })

  myChart.on(‘mouseout‘, () => {
    timeTicket && clearInterval(timeTicket)
    timeTicket = setInterval(() => {
      myChart.dispatchAction({
        type: ‘downplay‘,
        seriesIndex: 0 // serieIndex的索引值   可以触发多个
      })
      myChart.dispatchAction({
        type: ‘highlight‘,
        seriesIndex: 0,
        dataIndex: count
      })
      myChart.dispatchAction({
        type: ‘showTip‘,
        seriesIndex: 0,
        dataIndex: count
      })
      count++;
      if (count >= num) {
        count = 0
      }
    }, time)
  })
}

export default {
  autoPlay
}

2、使用

import { autoPlay } from ‘./tools‘

autoPlay(myChart, option.series[0].data.length, 3000);

  

 

echarts中使图表循环显示tooltip-封装tooltip的方法轮询显示图表数据

原文:https://www.cnblogs.com/CandyDChen/p/15184295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!