irpas技术客

微信小程序中使用ECharts--折线图、柱状图、饼图等_guochanof的专栏_微信小程序柱状图

大大的周 4387

微信小程序开发者的反馈,表示他们强烈需要像 ECharts 这样的可视化工具。但是微信小程序是不支持 DOM 操作的,Canvas 接口也和浏览器不尽相同。

因此,ECharts 团队和微信小程序官方团队合作,提供了 ECharts 的微信小程序版本。开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。

体验示例小程序

在微信中扫描下面的二维码即可体验 ECharts Demo:

GitHub 地址??https://github.com/ecomfe/echarts-for-weixin

?

如何使用:

ECharts在微信小程序中以组件的方式使用,所以非常简单

一、首先下载

下载项目到本地,并使用微信开发者工具打开,如下图

项目下载地址 GitHub 地址??https://github.com/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 }}">

?

最终效果

?

最笨的方法

直接把dome中pages下你所用的图表整个文件夹复制到你的项目,看好只要路径别错,改都不用改直接就可以用

?

重要提示:

全部图表的echarts.js非常大,如果你的项目较大可能会导致项目上传失败,

在你把整个js导入项目时开发者工具也会有如下提示:

[JS 文件编译错误] 以下文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理。ec-canvas/echarts.js

处理方法:

按你项目所需的图表定制化下载, 定制地址https://echarts.apache.org/zh/builder.html

?

勾选你所需要的图表,最下方点下载,

?

下载完成后,

把新定制的echarts.min.js替换掉原来的echarts.js


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #微信小程序柱状图 #echarts #这样的可视化工具 #但是微信小程序是不支持 #DOM #操作的Canvas #接口也和浏览器不尽相同