echart折线图封装

Posted 前端e站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echart折线图封装相关的知识,希望对你有一定的参考价值。

今天在echart的基础上做了一个折线图的封装,接下来就来说说函数封装的一个小思路

1、认识变量

1.1 data1,data2,id,nameArr

注:不建议学小编这样把变量名命名的这么随意哈

id:传入函数的第一个参数。里面包含echart的id,渲染视图的主键。

data1:传入函数的第二个参数。里面包含xAxisData, yAxisData

data2:传入函数的第三个参数。里面包含xAxisData, yAxisData

nameArr:传入函数的第四个参数。里面包含的是每一个echart对应的legend内容

... 这里还可以根据自己不同的需求对该函数(组件)进行扩展

2、简述思路

组件的定义 - 面向过程的编程重用函数、面向对象的编程重用类、范型编程重用的是算法的源代码,而组件编程则重用特定功能完整的程序模块。

这里的思路相当于 设计模式中的 - 策略模式,通过传参的方式来扩展自己的函数(组件)。

最重要的,函数的封装肯定会涉及到很多变量,所以在我们使用变量的同时要做好逻辑的收敛,比如:nameArr || [] ,data1?data1.yAxisData:[]

 // 折线图封装
  setLineChartOptions = (id: string, data1: Object, data2: Object, nameArr: Object) => 
    const oneChart = echarts.init(document.getElementById(id));
    console.log(oneChart, 'myChartmyChartmyChartmyChart', data1, data2)
    let option = 
      tooltip: 
        trigger: 'axis',
        textStyle:
          align:'left'
        
      ,
      legend: 
        data: nameArr||[],
        textStyle:   // 图列内容样式
          color: '#ffffff',  // 字体颜色
        ,
        tooltip: 
          show: true
        ,
        left: 'center'
      ,
      xAxis: 
        type: 'category',
        // 隐藏网格线
        splitLine:  show: false ,
        axisLine: 
          show: true,
          lineStyle: 
            color: "#ffffff" // x轴轴线颜色
          
        ,
        data: data1?data1.xAxisData:[]
      ,
      yAxis: 
        type: 'value',
        // 设置网格线颜色
        splitLine: 
          show: true,
          lineStyle: 
            color: ['#ffffff20'],
            width: 1,
            type: 'solid'
          
        ,
        axisLine: 
          show: true,
          lineStyle: 
            color: "#ffffff" // x轴轴线颜色
          
        ,
        axisTick: 
          show: false
        ,
      ,
      series: [
        
          name: nameArr?nameArr[0]:"",
          symbolSize: 2,   // 拐点圆的大小
          color: ['#fb3878'],  // 折线条的颜色
          data: data1?data1.yAxisData:[],
          type: 'line',
          smooth: true
        ,
        
          name: nameArr?nameArr[1]:"",
          symbolSize: 2,   // 拐点圆的大小
          color: ['#44d7b6'],  // 折线条的颜色
          data: data2?data2.yAxisData:[],
          type: 'line',
          smooth: true
        
      ]
    
    oneChart.setOption(option);
    window.addEventListener("resize", () => 
      oneChart.resize();
    )
  

长按二维码识别添加小站

1、如果你有好的技术文章。

2、如果你有需要的技术分享主题。

3、如果你有面试上的问题(包括简历、面试题)

4、那就快来联系小站,和小站的小伙伴们一起加油!

以上是关于echart折线图封装的主要内容,如果未能解决你的问题,请参考以下文章

echarts 拼图和折线图的封装 及常规处理

在vue里面引入echarts(柱状图,饼图,折线图))

28-Vue之ECharts-折线图

前端Vue+Element UI案例:通用后台管理系统-Echarts图表:折线图柱状图饼状图

echarts折线图不堆叠设置

echarts折线图手机端不能放大解决