使用 Echarts 图表的微信小程序
微信小程序是一种不需要下载安装即开即用的应用,可实现现用app应用70%的功能,用户扫一扫或者搜索即可使用,快捷方便使得微信小程序在我们生活中已经广泛使用。为了满足微信小程序开发者的需求,Echarts官方和微信小程序官方团队合作,提供了 ECharts 的微信小程序版本。开发者可以通过熟悉的 ECharts 配置方式,快速开发图表,满足各种可视化需求。这篇博客记录一下微信小程序中使用Echarts图表库
1. 新建微信小程序项目
首先我们微信开发者工具新建一个不使用云开发的微信小程序项目(图1所示),新建后的微信小程序目录结构(图2所示)
图1 图22. 将Echarts官方项目下载到本地
使用Echarts的图表库,我们需要将Echarts的组件先下载到本地,可以从Echarts官网(图3所示)中找到github上的图表组件下载地址(图4),下面是两个链接:
Echarts官方地址:Echarts官方介绍微信小程序使用Echarts
图表组件下载地址:github官网上的 ecomfe/echarts-for-weixin 项目下载
图3 图4注意:github是外国网站,很有可能无法访问,可以去我上传资源下载
3. 将Echarts组件复制粘贴到项目
3.1 我们将下载的代码解压后的echarts-for-weixin-master文件夹(图5所示),用微信开发者工具打开可以看到是一个Echarts图表的微信小程序示例(图6所示)
图5 图63.2 我们将echarts-for-weixin-master文件夹下的ec-canvas图表组件核心文件复制粘贴到我们新建项目的根目录下(图7所示)
图74. 编码创建图表
把图表文件夹下载复制成功,我们需要修改index页面下的wxml;json;js和wxss实现图表的展示
4.1 修改index.json代码
我们需要在页面json文件中引入ec-canvas组件,内容如下:
{
"usingComponents": {
"ec-canvas": "../../ec-canvas/ec-canvas"
}
}
4.2 修改index.html代码
index.html用组件标签显示图表,指定id;canvas-id;ec,内容如下:
<view class="echarts">
<ec-canvas id="echarts" canvas-id="echarts" ec="{{ec}}"></ec-canvas>
</view>
4.3 修改index.js代码
index.js中引入了echarts.js获取echarts实例,定义绑定数据ec以及获取图表数据的初始化函数
// 引入echarts.js
import * as echarts from '../../ec-canvas/echarts';
let chart = null;
Page({
data: {
ec: {
onInit: initChart
}
}
})
// 初始化图表函数
function initChart(canvas, width, height, dpr) {
chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr
})
canvas.setChart(chart)
// 显示Echarts图表类型信息,可以去Echarts官网复制粘贴
let option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar',
showBackground: true,
backgroundStyle: {
color: 'rgba(180, 180, 180, 0.2)'
}
}]
}
chart.setOption(option);
return chart;
}
4.4 修改index.wxss代码
我们需要为view容器和ec-canvas组件指定样式才可以显示,不然无法显示图表
.echarts{
width: 800rpx;
height: 800rpx;
}
ec-canvas{
width: 100%;
height: 100%;
}
5. 编译运行
图表信息复制的是柱状图的信息,所以显示的是柱状图,可以自行去Echarts官网复制粘贴样式
6. 微信小程序使用Echarts总结
echarts图表还是挺有意思的,值得去学习一下,用一些可视化图表去展示数据更加直观,很有成就感,引入图表需要一些echarts的基础知识,可以去Echarts官网了解学习一下,一起学习,一起努力吧
推荐阅读
-
微信 "扫一扫 "物联网,全面揭秘 "扫一扫 "背后的扫盲技术!-1.1 扫一扫感知物体是做什么的? 1.1 微信扫一扫是做什么的? 扫一扫识物是指以图片或视频(商品图片:鞋/包/美妆/服饰/家电/玩具/图书/食品/珠宝/家具/其他商品)为输入媒介,挖掘微信内容生态中的有价值信息(电商+百科+资讯,如图1所示),并展示给用户。这里的电商基本涵盖了微信小程序覆盖上亿SKU的全量优质电商,可以支持用户货比N家并直接下单购买,百科和资讯则聚合了微信内的头部自媒体如搜狗、搜搜、百度等,向用户展示和分享拍摄商品相关的内容资讯。 图 1 扫一扫识别功能示意图 欢迎大家更新iOS新版微信→扫一扫→识货,亲自体验,也欢迎大家通过识货界面的反馈按钮向我们提交反馈意见。 扫一扫识物实景图展示 1.2 扫一扫识物有哪些使用场景? 扫一扫识物的目的是为用户访问微信内部生态内容开辟一个新窗口,以用户扫图片为输入形式,为用户提供微信生态内容中的百科、资讯、电商等作为展示页面。除了用户熟悉的扫一扫操作外,我们还将进一步拓展长按操作,让用户更方便地进行扫一扫操作。"扫一扫知事 "的落地场景主要涵盖三大部分: a. 科普知识: a.科普知识。用户通过扫一扫,可以在微信生态圈中获取该对象的百科、资讯等常识或趣闻,帮助用户更好地了解该对象; b.购物场景。同样的搜索功能支持用户看到喜欢的商品立即检索到微信小程序电商中的同款商品,支持用户即扫即购; c.广告场景。扫一扫识别物体可以辅助公众号文章、视频更好地理解其中蕴含的图片信息,从而更好地投放匹配广告,提高点击率。 1.3 Sweep Sense 为 Sweep 家族带来了哪些新技术? 对于扫一扫来说,大家耳熟能详的应该就是扫一扫二维码、扫一扫小程序码、扫一扫条形码、扫一扫翻译了。无论是各种形式的编码还是文字字符,都可以看作是图片的一种特定编码形式,而物的识别则是对自然场景图片的识别,这对于扫一扫家族来说是一个质的飞跃,我们希望从物的识别入手,进一步拓展扫一扫对自然场景图片的理解能力,比如扫酒、扫车、扫植物、扫人脸等服务,如下图3所示。 图 3 Sweep 家族
-
微信小程序的文本合成语音朗读和长文本分割回放处理
-
在 uniapp 中使用 vue 编写微信小程序的生命周期差异
-
基于微信小程序的校园论坛系统开发流程
-
在微信小程序中使用 vant 组件库(超详细)
-
基于微信小程序的自习室预约系统的设计与实施
-
微信小程序手写文档解决日期少一天且格式无法剪切的问题
-
如何使用 PHP 实现微信小程序的报名系统?
-
[微信小程序] 解决分页时 this.setData 数据过多的限制问题
-
Uniapp踩中的坑]--微信小程序转发&保存图片--base64流形式的图片转发和保存