微信小程序中使用ECharts--折线图、柱状图、饼图等
微信小程序开发者的反馈,表示他们强烈需要像 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 }}">
如果加了样式也还没显示,请看这篇文章
微信小程序引入echarts不显示 开发者工具上显示, 但上线不显示 也不报错_ec-canvas图表不现实_guochanof的博客-CSDN博客
最终效果:
最笨的方法
直接把demo中pages下你所用的图表整个文件夹复制到你的项目,看好只要路径别错,改都不用改直接就可以用
重要提示:
全部图表的echarts.js非常大,如果你的项目较大可能会导致项目上传失败,
在你把整个js导入项目时开发者工具也会有如下提示:
[JS 文件编译错误] 以下文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理。ec-canvas/echarts.js
处理方法:
按你项目所需的图表定制化下载, 定制地址ECharts 在线构建
勾选你所需要的图表,最下方点下载,
下载完成后,
把新定制的echarts.min.js替换掉原来的echarts.js
涉及相关问题
关于图表不显示, 请看这篇文章
微信小程序引入echarts不显示 开发者工具上显示, 但上线不显示 也不报错_ec-canvas图表不现实_guochanof的博客-CSDN博客
关于图表模糊, 请看这篇文章
解决微信小程序使用echarts图表模糊_window.devicepixelratio 1.2导致echarts 渲染模糊-CSDN博客
更多推荐
所有评论(0)