Echarts图表绘制问题及解决办法

1、Echarts图表重绘的时候可能会出现这个警告:There is a chart instance already initialized on the dom.

原因:我们在重绘图表的时候,Dom实例还存在,就会重复初始化。

解决办法:

// 在初始化实例之前先将实例销毁,实例销毁后就无法再被使用了,然后再重新进行初始化
that.myChart && that.myChart.dispose()

在这里插入图片描述

2、Echarts中图表的移动端点击事件(折线图、柱状图):

在做移动端h5的图表时,发现如果想要具体的点击某一个点或者柱子的时候,需要点击两次或者更多次才触发。原因待补充。。。

解决办法:

this.char.getZr().on('click',params => {
    
     // 监听鼠标点击的图表区域
   const pointInPixel= [params.offsetX, params.offsetY]
   if (that.char.containPixel('grid',pointInPixel)) {
    
    
   let xIndex=that.char.convertFromPixel({
    
    seriesIndex:0},[params.offsetX, params.offsetY])[0]
    if (data[xIndex]) {
    
    
       that.newDate = data[xIndex].tradeDate.replace(/\//g,'.')
       let realNumber = data[xIndex].rtnTotal
       realNumber=realNumber+''
       var number = realNumber.split(".");
       var reg = /\d{1,3}(?=(\d{3})+$)/g
       if(number.length===1){
    
    
          realNumber = (number[0] + '').replace(reg, '$&,')
       }
       that.nowProfit = realNumber
   }
       document.getElementsByClassName('defaultDate')[0].style.background = '#f5effe'
  }
})

3、Echarts图表–>鼠标移入取消小手:

当图表中没有可点击跳转的需求时,则鼠标移入当前图表时,小手状态变为箭头。

	// myChart是绘图的对象
	myChart.getZr().on('mousemove', param => {
    
    
      myChart.getZr().setCursorStyle('default')
      //  若鼠标滑过区域位置在当前图表范围内 鼠标设置为小手
      // if (radarChart.containPixel('grid', pointInPixel)) { 
	  //  radarChart.getZr().setCursorStyle('pointer')
	  // } 
    })

猜你喜欢

转载自blog.csdn.net/Y1914960928/article/details/127803246
今日推荐