Vue整合echarts使用案例

IT 文章1周前更新 小编
0 0 0

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

第1步 安装echarts

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

npm i echarts

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

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

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页面中使用即可。
[v_blue]注意:如果echarts的版本在5.0以上,据说好像只能局部引入,全局引入会出错,没试过,大家稍微注意下[/v_blue]

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

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

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

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

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

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

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

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

 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所有图表官方示例

ad

免费在线工具导航

优网导航旗下整合全网优质免费、免注册的在线工具导航大全

查看效果

将饼图的option替换到上面的代码,我们运行看下效果如下:Vue整合echarts使用案例

© 版权声明

相关文章

暂无评论

暂无评论...