vue里面绘制echarts

2021-02-19  本文已影响0人  WWWWWWWWWWWWWWM

绘制分为三部分

//this.$echarts 是在main.js引入的echarts对象
//this.$refs.echart_ref指的是echarts容器,通常是个空div就行,但是这个div要设置高度
// 'chalk'指的是引入的主题,这个主题文件可以在项目的index模板文件里面引入
// this.chartInstance指的是init后的初始化实例,通常以后操作都是对this.chartInstance

 this.chartInstance = this.$echarts.init(this.$refs.echart_ref, 'chalk');
        let initOptions = {
          title: {
            text: '',
          },
          xAxis: {
            type: 'category',
            boundaryGap: false
          },
          yAxis: {
            type: 'value'
          },
          tooltip: {
            trigger: 'axis'
          },
          legend: {
            icon: 'circle',
            left: '5%',
            top: '20%'
          },
          grid: {
            top: '25%',
            left: '1%',
            right: '1%',
            bottom: '1%',
            containLabel: true
          }
        };
// xAxis是横轴,类目轴  
//  series是y轴,数据轴
// legend是图例
 let dataOption = {
          xAxis: {
            data: timeArr
          },
          series: seriesArr,
          legend: {
            data: legendArr
          }
        };
window.addEventListener('resize', this.screenAdapter);  //监听resize

      screenAdapter() {
        let fontSize = this.$refs.trend_ref.offsetWidth /100 * 3.6;   //动态获取屏幕宽度
        this.titleFontSize = fontSize;  //设置标题size
        let adapterOption = {
            legend: {   //图例样式动态调整
                itemWidth: fontSize,
                itemHeight: fontSize,
                itemGap: fontSize,
                textStyle: {
                    fontSize: fontSize / 2
                }
            }
        };
        this.chartInstance.setOption(adapterOption);   //设置setOption
        this.chartInstance.resize();  //resize之后才会生效
      }



// destroyed生命周期函数移除resize监听
    destroyed() {
      window.removeEventListener('resize', this.screenAdapter);
       this.$socket.unRegisterCallBack('trendData');
    },
上一篇下一篇

猜你喜欢

热点阅读