运用webpack怎么使用echarts?与调用接口结合使用??

第一步:安装echarts
npm install echarts --save
第二步:引入
1.完整引入echarts
2.按需引入(用哪个,引哪个,减少文件体积)

可以按需引入的模块列表见
https://github.com/apache/incubator-echarts/blob/master/index.js

第三步:初始化echarts
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(main);

第四步:配置图表选项
分为默认配置和调用数据接口获得的数据,最后再把着俩个对象拼接起来
第五步:设置生成图表
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
template里面的标签

  <div ref="mycart" class="mychart"></div>

引入

//完整引入
//var echarts = require("echarts");
//按需引入echarts
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
//再引入你需要用到的相关图表模块
// 引入提示框和标题组件
require('echarts/lib/component/tooltip');
require('echarts/lib/component/title');
require('echarts/lib/component/legend');
// 引入拆线图
require('echarts/lib/chart/line');
import { getReportChart } from "@/http/api";

data数据

 data() {
    return {
      //图表整体配置项
      option: {}
    };
  },
  mounted() {
    this.setchart();
  },
  methods: {
    async setchart() {
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(this.$refs.mycart);
      //后台返回的动态数据
      const res = await getReportChart();
      const option1 = res.result;
      //固定图表数据    默认的配置,接口数据获取不到的
      const option2 = {
        title: {
          text: "用户来源"
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "cross",
            label: {
              backgroundColor: "#6a7985"
            }
          }
        },
        toolbox: {
          feature: {
            saveAsImage: {}
          }
        },
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true
        }
      };
      //合并配置项 
      this.option={...option1,...option2}  // 对象的拼接,assign既可以拼接数组也可以拼接对象
      //console.log("返回报表数据:", option1);
      //生成图表
      myChart.setOption(this.option);
    }
  }

猜你喜欢

转载自blog.csdn.net/lqlq54321/article/details/106879312