美文网首页
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