微信小程序使用echarts图表

前言

数据统计是我们经常使用的功能,我们一般在 pc 端使用的比较多,大多数用在管理系统中统计数据的分析,最近在做微信小程序的时候也遇到了相同的需求,把数据统计在小程序端以图表的形式展示,这里记录下自己的配置使用过程。

准备

首先百度的 echarts 没有提供小程序版本,这里找了个封装过可以用在微信端的仓库小程序版 echarts,通过这个链接下载最新的包。解压之后有个ec-canvas文件夹就是封装的组件,放到小程序的组件文件夹目录下,以供使
用。

1
2
3
4
5
6
7
├── ec-canvas
│ ├── ec-canvas.js
│ ├── ec-canvas.json
│ ├── ec-canvas.wxml
│ ├── ec-canvas.wxss
│ ├── echarts.min.js
│ └── wx-canvas.js

使用

  1. 在需要使用的页面配置文件中引入该图表组件
1
2
3
"usingComponents": {
"ec-canvas": "../../ec-canvas/ec-canvas"
}
  1. index.wxml 中,我们创建了一个 组件:
1
2
3
<view class="container">
<ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
  1. 其中 ec 是一个我们在 index.js 中定义的对象,它使得图表能够在页面加载后被初始化并设置。index.js 的结构如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Page({
data: {
ec: {
onInit: initChart
}
},
onLoad(){
// 在需要的地方获取dom
this.echartsComponnet1 = this.selectComponent('#mychart-dom-bar1')
this.init_echarts1({ value: res.data.rotateSpeed || 0, name: 'x1000' })
}
// 初始化
init_echarts1 (data) {
this.echartsComponnet1.init((canvas, width, height) => {
// 初始化图表
const chart = echarts.init(canvas, null, {
width: width,
height: height
})
this.chart = chart
// setGaugeChartOption1获取到基础配置
chart.setOption(setGaugeChartOption1(data))
// 注意这里一定要返回 chart 实例,否则会影响事件处理等
return chart
})
},
});
-------------本文结束感谢您的阅读-------------

本文标题:微信小程序使用echarts图表

文章作者:Water

发布时间:2020年06月03日 - 15:06

最后更新:2023年08月01日 - 06:08

原始链接:https://water.buging.cn/2020/06/03/微信小程序使用echarts图表/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!