echarts.js整理

添加loading框

   this.myChart.showLoading({
                    text: 'loading',
                    color: 'rgba(20, 149, 247, 0.7)',	//设置加载颜色
                    textColor: '#000',
                    maskColor: 'rgba(255, 255, 255, 0.2)',
                    zlevel: 0
                })
                this.myChart.hideLoading()

保证每次重复渲染

if(document.getElementById('hjczlEcharts4').getAttribute('_echarts_instance_')){
    document.getElementById('hjczlEcharts4').removeAttribute('_echarts_instance_');
}

不显示,宽度为0 解决办法:

setTimeout(function () {
    var dnysEcharts4 = echarts.init(document.getElementById('hjczlEcharts4'));
    dnysEcharts4.setOption(option, true);
},200);

调整echarts表格的位置

在这里插入图片描述

grid:{
      x:25,
      y:45,
      x2:5,
      y2:20,
      borderWidth:1
  },

echarts 随屏幕大小改变大小chart.resize()

解决echarts图表 y轴名称,太长隐藏显示的问题

当完成时我发现有些页面y轴文字特别长,并且由于我设置了containLabel: true,

给一个固定12的字数限制,超出部分以省略号代替,这样就不会造成图形范围忽大忽小了。

axisLabel: {
  color: "#000",
  interval: 0,
  formatter: function(value) {
    if (value.length > 12) {
      return value.substring(0, 12) + "...";
    } else {
      return value;
    }
  }
},

解决提示框超出屏幕

tooltip: {
    trigger: "item",
     confine:true,
     formatter: "{a} <br/>{b} : {c}人 ({d}%)"
 },

x轴名称太长,旋转或者竖着显示

旋转

axisLabel: {  
   interval:0,  
   rotate:40  
}  

interval:
可以设置为0强制显示所有标签,如果设置为1,表示隔一个标签显示一个标签,如果为3,表示隔3个标签显示一个标签,以此类推
rotate:
标签倾斜的角度,在类目轴的类目标签显示不全时可以通过旋转防止标签重叠(官方这样说的)旋转的角度是-90到90度

竖着显示:

axisLabel: {  
    interval: 0,  
    formatter:function(value)  {  
        return value.split("").join("\n");  
    }  
}  

图表点击事件

竖图表

this.ecDom.setOption(option);
let myChart= this.ecDom
myChart.getZr().off('click');
myChart.getZr().on('click', params => {
  const { target, topTarget } = params
  const pointInPixel = [params.offsetX, params.offsetY]
  if (myChart.containPixel('grid', pointInPixel)) {
    let xIndex = myChart.convertFromPixel({ seriesIndex: 0 }, [params.offsetX, params.offsetY])[0]// 点击的下轴下标
  }
   const axs = target
	    ? target.seriesIndex
	     : topTarget&&topTarget.parent?.parent?.__ecComponentInfo?.index// 点击的数据的下标
	 if(axs!=undefined){
	     console.log(axs)
	 }
})

横图表

this.ecDom.setOption(option);
let myChart= this.ecDom
myChart.getZr().off('click');
myChart.getZr().on('click', params => {
  const pointInPixel = [params.offsetX, params.offsetY]
  if (myChart.containPixel('grid', pointInPixel)) {
    let xIndex = myChart.convertFromPixel({ seriesIndex: 0 }, [params.offsetX, params.offsetY])[1] 
   }
})
 function initDyhjEch1(id) {
        if (document.getElementById(id).getAttribute('_echarts_instance_')) {
            document.getElementById(id).removeAttribute('_echarts_instance_');
        }
        var myChart1 = echarts.init(document.getElementById(id));
        var option = {
            xAxis: {
                type: 'category',
                boundaryGap: false,
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                name:"年",
                type: 'value'
            },
            series: [{
                data: [820, 932, 901, 934, 1290, 1330, 1320],
                type: 'line',
                areaStyle: {
                    opacity: 0.8,
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                        offset: 0,
                        color: '#0d4fe1'
                    }, {
                        offset: 1,
                        color: 'rgba(13, 79, 225,0)'
                    }])
                },
            }]
        };
        myChart1.setOption(option);
        myChart1.resize()
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值