vue项目中引入echart.js来制作图表
- Published on
- 发布于·预估阅读3分钟
- Authors
- Name
- willson-wang
echart.js是一款超级强大的图表制作插件,可以满足我们展示业务数据,如柱形图,饼状图,折线图,仪表图等,因为这次项目内大量地方用到数据展示,所以引入了echart.js插件用于制作图表,先总结下开发的时候遇到的小问题
首先引入echarts.js,使用npm install --save echarts
定制组件,因为复用的地方比较多,所以抽出来成了组件,共封装了四个组件,折线图,柱状图,饼状图,仪表图,封装这四个组件的方法类似
按需引入,因为echarts的组件较多导致文件较大,所以这里需要使用什么就引入什么,bar柱状图,gauge仪表盘,line折线图,pie饼状图
const echarts = require('echarts/lib/echarts'); // 引入echarts主模块 require('echarts/lib/chart/bar'); // 引入柱状图 require('echarts/lib/component/tooltip'); // 引入提示框 require('echarts/lib/component/title'); // 引入标题组件 require('echarts/theme/macarons'); // echarts 主题
柱状图通过xAxis,与yAxis的type属性的值来决定哪个是类目轴哪个是数值轴,category类目轴,value表示数值轴
xAxis: { // type参数决定那个是类目轴哪个是数值轴 type: this.isShowX ? 'category' : 'value', },
yAxis: { type: this.isShowX ? 'value' : 'category', },
怎样让echart.js制作出来的图表随着浏览器的窗口大小的变化而变化
- 初始化组件的时候,监听window对象的resize事件,回调函数是chart对象的返回值下的resize方法,echart插件自带的方法
window.addEventListener('resize', this.chart.resize)
- 销毁组件的时候在注销掉resize事件
window.removeEventListener('resize', this.chart.resize);
,注意要在this.chart.dispose();之前注销
- 初始化组件的时候,监听window对象的resize事件,回调函数是chart对象的返回值下的resize方法,echart插件自带的方法
怎么去动态设置图表的值,让图表随着后端请求来的值进行实时更新
- watch父组件传入的数据
- this.chart.setOption(this.opt); 利用setOption方法重新赋值
柱状图,折线图不显示坐标轴,通过设置xAxis,yAxis下的axisLine,不显示背景色通过设置xAxis,yAxis下的splitLine与splitArea
legend属性用于设置切换索引
开发效果图
echart.js的使用不难,难的时配置参数的查找;
封装有该组件的项目地址