首页 > 其他分享 >vue 项目引入 echarts折线图

vue 项目引入 echarts折线图

时间:2022-12-21 08:44:05浏览次数:122  
标签:590 vue color type chart 折线图 data echarts

一。components文件下新建 lineCharts.vue

<template>
  <div :class="className" :style="{ height: height, width: width }" />
</template>

<script>
import * as echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme

export default {

  props: {
    className: {
      type: String,
      default: 'chart'
    },
    width: {
      type: String,
      default: '100%'
    },
    height: {
      type: String,
      default: '400px'
    },
    autoResize: {
      type: Boolean,
      default: true
    },
    chartData: {
      type: Object,
      required: true
    }
  },
  data() {
    return {
      chart: null
    }
  },
  watch: {
    chartData: {
      deep: true,
      handler(val) {
        this.setOptions(val)
      }
    }
  },
  mounted() {
    this.$nextTick(() => {
      this.initChart()
    })
  },
  beforeDestroy() {
    if (!this.chart) {
      return
    }
    this.chart.dispose()
    this.chart = null
  },
  methods: {
    initChart() {
      this.chart = echarts.init(this.$el, 'macarons')
      this.setOptions(this.chartData)
    },
    setOptions({ expectedData, actualData } = {}) {
      this.chart.setOption({
        legend: {
          data: ['AC06H', 'AC06L', 'AC12N', 'AC12S', 'AC13E'],
          textStyle: {
            color: '#fff'
          }
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true
        },
        toolbox: {
          feature: {
            saveAsImage: {}
          }
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10','11', '12', '13', '14', '15','16','17','18','19','20']
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            name: 'AC06H',
            type: 'line',
            stack: 'Total',
            smooth: false,
            data: [691,301, 134, 590, 634, 420, 132, 530, 310,301,254, 320, 590, 134, 530, 310, 590,90, 230, 210],
            itemStyle: {
              normal: {
                //areaStyle: {type: 'default',color:'#d5f0fd'}, //阴影颜色
                lineStyle:{color:'#00ffff'}
              }
            },
          },
          {
            name: 'AC06L',
            type: 'line',
            stack: 'Total',
            smooth: false,
            data: [220, 382, 691,301, 134, 590, 634,520,34,123,90,691,301, 400,254, 320, 590,120, 530, 310],
            itemStyle: {
              normal: {
                lineStyle:{color:'#ff00ff'}
              }
            },
          },
          {
            name: 'AC12N',
            type: 'line',
            stack: 'Total',
            smooth: false,
            data: [150, 432, 101,254, 720, 590,120, 530, 382, 101, 682,390, 30, 520,691,301, 254, 320, 130, 410],
            itemStyle: {
              normal: {
                lineStyle:{color:'#fff'}
              }
            },
          },
          {
            name: 'AC12S',
            type: 'line',
            stack: 'Total',
            smooth: false,
            data: [320, 832, 101,600, 382,434, 210, 330, 50, 90, 501, 834,100, 432, 101, 382,590, 130, 400,520],
            itemStyle: {
              normal: {
                lineStyle:{color:'#00a0e9'}
              }
            },
          },
          {
            name: 'AC13E',
            type: 'line',
            stack: 'Total',
            smooth: false,
            data: [600, 382,434, 210, 330, 120, 232, 201, 501, 834, 432, 101, 382,434, 10, 330, 120 ,832, 501, 834,],
            itemStyle: {
              normal: {
                lineStyle:{color:'#ffff00'}
              }
            },
          }
        ]
      })
    }
  }
}
</script>

二。需要用到的页面引入组件:

 

 效果图如下:

 

标签:590,vue,color,type,chart,折线图,data,echarts
From: https://www.cnblogs.com/anna001/p/16995480.html

相关文章

  • vue3 Composition API使用
    Vue3新增了CompositionAPI。我们只需将实现某一功能的相关代码全部放进一个函数中,然后return需要对外暴露的对象。不同功能的代码都是一个个函数,最终在setup()函数中......
  • Vue 作用域插槽
    摘抄自:https://www.jianshu.com/p/0c9516a3be80  ......
  • Vue基础 · 组件的使用(4)
    组件将公用的功能抽离出来,形成组件;目的:复用代码。1.1全局组件<divid="app"><!--引用组件,可多次引用--><demo></demo></div><scriptsrc="../js/vue......
  • 前端工程化Vue-cli
    六前端工程化vue-cliVue是渐近式框架,你可以用它一个功能,也可以用全家桶。前面的章节中,我们是在html中引入vue.js,只用它核心的数据绑定功能。但基于vue的扩展还有很多,......
  • Vue 中的 Todo-list 案例
    Vue中的 Todo-list案例1:示例​​​​总结TodoList案例组件化编码流程:(1).拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突。(2).实现动态组件:考虑好数据的存......
  • vue.nextTick()方法的使用详解
    1,什么是Vue.nextTick()理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数,1<template>2<divclass......
  • vue项目运行不起来的解决办法
    一、公司拉下来的代码和同事的node版本一样就是运行不起来项目解决方法:1、应该是老问题,原来的味道,原来的方法,直接删除node_modules这个文件夹【相当于依赖包......
  • 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件
    'vue-cli-service'不是内部或外部命令,也不是可运行的程序或批处理文件 1、背景介绍在执行npmrunserve命令启动前端服务时,有报错提示。 2、解决方案执行如下......
  • vue去掉 ESlint 校验
    整个项目都关闭创建.eslintrc.js写入如下代码module.exports={"env":{"browser":true,"es6":true},"extends":"plugin:vue/essential"......
  • vue-cli项目初始化
    $vueinitwebpackvuetext1---------------------安装vue-cli,初始化vue项目的命令?Targetdirectoryexists.Continue?(Y/n)y---------------------找到了vuetext1......