echarts 图表在vue中的使用

1. 下载echarts包

npm install echarts --save

2.在全局引入并挂载到原型上

import * as echarts from 'echarts'

Vue.prototype.$echarts = echarts

3.使用

 1> 创建一个有宽高的盒子

  2> 获取dom

1 let chart = document.querySelector('.box') 

2 第二种获取dom 是标签上添加ref=‘box’

  let chart = this.$refs.box

 3> 

const myChart = this.$echarts.init(chart)

const option = {

/* 图表数据*/

}

4> 

myChart.setOption(option)

// 视口监听图表变化

// window.addEventListener('resize', function () {

//   myChart.resize()

// })

完整代码 

在main.js 中进行引入和挂载

在vue文件中使用

创建宽高的盒子

 在methods方法中

 


 async getEchartsData() {
      let optionsX = []
      let optionsY = []
      const assign = this.queryParam
      
     // 获取dom
      const chartDom = this.$refs.char
     // 初始化图表
      const myChart = this.$echarts.init(chartDom)
    
      const res = await this.$http.post('你的接口', assign)
      if (res.success) {
        this.data = res.data.gridData
        optionsX = res.data.chartsData.xData
        optionsY = res.data.chartsData.yData
      }
      
       // 配置图表
      const option = {
        // 提示框组件
        tooltip: {
          show: true,
          trigger: 'axis', // 触发类型 'item' 和 'axis' 和 'none'
          axisPointer: {
            type: 'shadow',
            show: true,
          }, // 坐标轴指示配置项
          formatter: '日期:{b0}<br /> 访问量:{c0}' // 提示框浮层内容
        },
        title: {
        text: '日访问', //组件标题
        },
        grid: {
          left: '3%',
          right: '30%',
          bottom: '3%',
          containLabel: true,
        }, // 网格配置
        xAxis: {
          show: true,
          type: 'category',
          data: optionsX,
          nameTextStyle: {
            align: 'left',
            fontSize: 18
          },
          axisLabel: {
            interval: 0,
            rotate: 40
          }
        },    // x轴配置
        yAxis: {
          show: true,
          type: 'value',
          splitLine: {
            show: false
          }
        }, // y轴配置
        series: [
          {
            data: optionsY,
            type: 'bar',
            itemStyle: {
              color: 'rgb(139, 177, 243)' 
            },
            barWidth: '40%'
          },
        ] 
      }
      
      myChart.setOption(option)
      // 视口监听
      // window.addEventListener('resize', function () {
      //   myChart.resize()
      // })
    },


然后在mounted调取方法

this.getEchartsData()

最终效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值