微信小程序开发者的反馈,表示他们强烈需要像 ECharts 这样的可视化工具。但是微信小程序是不支持 DOM 操作的,Canvas 接口也和浏览器不尽相同。
因此,ECharts 团队和微信小程序官方团队合作,提供了 ECharts 的微信小程序版本。开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。
体验示例小程序
在微信中扫描下面的二维码即可体验 ECharts Demo:
GitHub 地址/ecomfe/echarts-for-weixin
如何使用:
ECharts在微信小程序中以组件的方式使用,所以非常简单
一、首先下载
下载项目到本地,并使用微信开发者工具打开,如下图
项目下载地址 GitHub 地址/ecomfe/echarts-for-weixin
可以自行从 ECharts 项目中下载最新发布版
在pages文件夹下每一个文件夹为一个图标样式
二、在自己项目中使用ECharts
1、首先把整个ec-canvas文件夹复制到自己项目中,位置可以自己定,我就放在最外面根目录下了
2、引用组件,
json:
在你要显示图表的页面的json配置文件中加入以下配置,这也是组件的使用方法
{"usingComponents": {"ec-canvas": "/ec-canvas/ec-canvas"}}
这一配置的作用是,允许我们在wxml中使用<ec-canvas>
组件。注意路径的相对位置要写对,如果目录结构和本例相同,就应该像上面这样配置。
js:
引入js,
// import { echarts } from '../../ec-canvas/echarts.js'import * as echarts from '../../ec-canvas/echarts.js';
为什么上面注释掉的一行也发出来呢,为了告诉你们那样写不管用
完整带数据js:
import * as echarts from '../../ec-canvas/echarts';function initChart(canvas, width, height, dpr) {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr // new});canvas.setChart(chart);var option = {title: {text: '测试下面legend的红色区域不应被裁剪',left: 'center'},legend: {data: ['A', 'B', 'C'],top: 50,left: 'center',backgroundColor: 'red',z: 100},grid: {containLabel: true},tooltip: {show: true,trigger: 'axis'},xAxis: {type: 'category',boundaryGap: false,data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],// show: false},yAxis: {x: 'center',type: 'value',splitLine: {lineStyle: {type: 'dashed'}}// show: false},series: [{name: 'A',type: 'line',smooth: true,data: [18, 36, 65, 30, 78, 40, 33]}, {name: 'B',type: 'line',smooth: true,data: [12, 50, 51, 35, 70, 30, 20]}, {name: 'C',type: 'line',smooth: true,data: [10, 30, 31, 50, 40, 20, 10]}]};chart.setOption(option);return chart;}Page({onShareAppMessage: function (res) {return {title: 'ECharts 可以在微信小程序中使用啦!',path: '/pages/index/index',success: function () { },fail: function () { }}},data: {ec: {onInit: initChart}},onReady() {}});
wxml:
<view class="container"><ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas></view>
如果到这里你的页面还没显示图表,也没有报错,那就它加个样式
<ec-canvas style="width: 100%; height: 500px;" id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}">
最终效果
最笨的方法
直接把demo中pages下你所用的图表整个文件夹复制到你的项目,看好只要路径别错,改都不用改直接就可以用
重要提示:
全部图表的echarts.js非常大,如果你的项目较大可能会导致项目上传失败,
在你把整个js导入项目时开发者工具也会有如下提示:
[JS 文件编译错误] 以下文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理。ec-canvas/echarts.js
处理方法:
按你项目所需的图表定制化下载, 定制地址ECharts 在线构建
勾选你所需要的图表,最下方点下载,
下载完成后,