美文网首页
vue里面使用echarts

vue里面使用echarts

作者: andcen | 来源:发表于2020-07-10 14:29 被阅读0次
4.png

安装

npm install echarts -S

全局引入

在main.js中全局引入

// main.js
import * as echarts from 'echarts'; // 现在改成这么引入了(以前 import echarts from 'echarts')
Vue.prototype.$echarts = echarts

vue页面上的使用

<template>
<div class="all">
  <div class="my-chart">
    <div ref="myChart" v-loading="loading" :style="{ width: '1200px', height: '700px' }"></div>
  </div>
</div>
</template>
<script>
export default {
  name: "home",
  data() {
    return {
      loading: true,
      xAxisList: [],
      listData :[]
    };
  },
mounted() {
    // 获取表里面的数据一定要放在mounted里面,要有dom原型了才能渲染数据
    this.initChartData();
  },
 methods: {
    //  获取数据的函数
    initChartData(){
        ...获取接口数据 
        this.xAxisList = 接口数据的x轴内容(数组)
        this.listData = 接口数据的展示数据(数组)
        // 执行初始化echarts表的函数
        this.initMyChart();
        this.loading = false;
    },
      // echart表的函数
     initMyChart() {
        //  图表初始化
        let myChart = null;
        myChart = this.$echarts.init(this.$refs.myChart);
        //  绘制图表
        let option = null;
        option = {
          title: {
            text: "标题",
            subtext: "副标题提示等",
          },
          toolbox: {
            show: true,
            // 小工具栏
            feature: {
              dataView: { show: true, readOnly: false },
              magicType: { show: true, type: ["line", "bar"] },
              restore: { show: true },
              saveAsImage: { show: true },
            },
          },
        // 标识
        legend: {
          right: "140",
          top: "4",
          data: ["数据1名称", "数据2名称"],
        },
        tooltip: {
          trigger: "axis",
          // 极坐标系角度轴
          axisPointer: {
            // 坐标轴指示器,坐标轴触发有效
            type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
          },
        },
        // 直角坐标系底板
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true,
        },
        calculable: true,
        // 直角坐标系 X 轴 通过接口获取到的数据要放在x轴的
        xAxis: [
          {
            type: "category",
            data: this.xAxisList,  // ["1月","2月","3月",....]
          },
        ],
        //(直角坐标系 Y 轴)这里是自动
        yAxis: [
          {
            type: "value",
          },
        ],
        series: [
          {
            name: "数据1名称",
            type: "bar",
            itemStyle: {
              normal: {
                color: "#FF0F33",// 数据1图形展示的色块
              },
            },
            data: 数据1的具体数据 listData ,// 一般通过接口获得的
          },
          {
            name: "数据2名称",
            type: "bar",
            itemStyle: {
              normal: {
                color: "#67C23A",// 数据2图形展示的色块
              },
            },
            data: 数据2的具体数据 listData ,// 一般通过接口获得的
          },
        ],
      };
      // 图标数据设置完以后注入图标
      if (option && typeof option === "object") {
        myChart.setOption(option, true);
      }
    },
}
}

相关文章

网友评论

      本文标题:vue里面使用echarts

      本文链接:https://www.haomeiwen.com/subject/acfmcktx.html