美文网首页
在vue中使用ECharts

在vue中使用ECharts

作者: 洪锦一 | 来源:发表于2022-03-16 08:45 被阅读0次

    ECharts官网地址

    全局引入
    main.js

    import * as echarts from "echarts"
    Vue.prototype.$echarts = echarts
    

    按需引入
    main.js

    // 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。
    import * as echarts from 'echarts/core';
    
    // 引入柱状图图表,图表后缀都为 Chart
    import { BarChart, LineChart } from 'echarts/charts';
    
    // 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component
    import {
      TitleComponent,
      TooltipComponent,
      GridComponent,
      DatasetComponent,
      TransformComponent
    } from 'echarts/components';
    
    // 标签自动布局,全局过渡动画等特性
    import { LabelLayout, UniversalTransition } from 'echarts/features';
    // 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
    import { CanvasRenderer } from 'echarts/renderers';
    
    // 注册必须的组件
    echarts.use([
      BarChart,
      LineChart,
      TitleComponent,
      TooltipComponent,
      GridComponent,
      DatasetComponent,
      TransformComponent,
      LabelLayout,
      UniversalTransition,
      CanvasRenderer,
    ]);
    
    Vue.prototype.$echarts = echarts
    

    组件中使用

    <template>
      <div>
        <div id="test"></div>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {};
      },
      mounted() {
        this.getECharts();
      },
      methods: {
        getECharts() {
          // 基于准备好的dom,初始化echarts实例
          var myChart = this.$echarts.init(document.getElementById("test"), null, {
            // width: 100,
            height: 200,
          });
          // 绘制图表
          myChart.setOption({
            title: {
              text: "ECharts 入门示例",
            },
            tooltip: {},
            xAxis: {
              data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
            },
            yAxis: {},
            series: [
              {
                name: "销量",
                type: "line",
                data: [5, 20, 36, 10, 10, 20],
              },
            ],
          });
          //防抖
          let timer;
          window.onresize = function () {
            if (timer) {
              clearTimeout(timer);
            }
            timer = setTimeout(() => {
              myChart.resize();
            }, 500);
          };
        },
      },
    };
    </script>
    
    <style>
    </style>
    

    相关文章

      网友评论

          本文标题:在vue中使用ECharts

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