Vue整合echarts使用案例

前端 潘老师 2年前 (2023-10-19) 170 ℃ (0) 扫码查看

Vue如何整合echarts来画各种图表?比如饼状图、条形图等等,这里潘老师来带大家一起看下Vue应该如何整合echarts来绘制图表的使用案例。

第1步 安装echarts

首先我们vue项目需要安装echarts,安装指令如下:

npm i echarts

如果你想指定echarts版本,比如我这里使用的是V5.4.3版本。可以使用类似如下指令:

npm install echarts@5.4.3 --save

第2步:导入echarts

接下来我们需要导入echarts,这里有两种方式,一种是全局导入,一种是局部导入,根据自己需求选择吧。

1)全局引入

在main.js文件中添加如下:

//全局引入echarts
import * as echarts from 'echarts';
//需要挂载到Vue原型上
Vue.prototype.$echarts = echarts;

2)局部引入

// 方式1
let echarts = require(‘echarts’);
// 方式2
import * as echarts from "echarts";

以上两种方式都可以,只需要在需要绘制图表的vue页面中使用即可。

注意:如果echarts的版本在5.0以上,据说好像只能局部引入,全局引入会出错,没试过,大家稍微注意下

第3步 vue绘制echarts饼状图案例

这里我们绘制一个饼状图,需要有以下几个步骤:

1)准备一个容器来存放echarts

配置好ref属性,用于后面初始化容器获取DOM。

<div ref="mychart" style="width:300px;height:500px"></div>

这里ref也可以换为id="mychart",只要在后面初始化时使用document.getElementById("mychart")就行

注意:这里需要设置容器宽高,否则会无法绘制出来,具体参考:《echarts提示Can’t get DOM width or height解决办法

 2)实现绘制

接下来我们写绘制方法

<script>
// 局部导入echarts
import * as echarts from "echarts";
export default {
    name: 'DataChart',
    data() {
        return {

        };
    },
    mounted() {
        // 挂载时初始化图表
        this.echartsInit();
    },
    methods: {
        // 初始化图表方法
        echartsInit() {
         //初始化容器
         const myChart = echarts.init(this.$refs.mychart); 
         // 这里面就是图表的各种配置项,具体参考官方文档
         const option = {};
         myChart.setOption(option);
        }
    },
};
</script>

这里饼状图的option案例类似如下:

option = {
  title: {
    text: 'Referer of a Website',
    subtext: 'Fake Data',
    left: 'center'
  },
  tooltip: {
    trigger: 'item'
  },
  legend: {
    orient: 'vertical',
    left: 'left'
  },
  series: [
    {
      name: 'Access From',
      type: 'pie',
      radius: '50%',
      data: [
        { value: 1048, name: 'Search Engine' },
        { value: 735, name: 'Direct' },
        { value: 580, name: 'Email' },
        { value: 484, name: 'Union Ads' },
        { value: 300, name: 'Video Ads' }
      ],
      emphasis: {
        itemStyle: {
          shadowBlur: 10,
          shadowOffsetX: 0,
          shadowColor: 'rgba(0, 0, 0, 0.5)'
        }
      }
    }
  ]
};

更多echarts图表option参考官方文档:《echarts所有图表官方示例

查看效果

将饼图的option替换到上面的代码,我们运行看下效果如下:


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/front/9855.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】