微信小程序中使用echarts的实现方法


Posted in Javascript onApril 24, 2019

刚开始学微信小程序,有说的不对的地方大家可以提出!

首先体验示例小程序

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

微信小程序中使用echarts的实现方法

下载

为了兼容小程序 Canvas,我们提供了一个小程序的组件,用这种方式可以方便地使用 ECharts。

首先,下载 GitHub 上的 ecomfe/echarts-for-weixin 项目。

其中,ec-canvas 是我们提供的组件,其他文件是如何使用该组件的示例。

ec-canvas 目录下有一个 echarts.js,默认我们会在每次 echarts-for-weixin 项目发版的时候替换成最新版的 ECharts。如有必要,可以自行从 ECharts 项目中下载最新发布版,或者从官网自定义构建以减小文件大小。

引入组件

微信小程序的项目创建可以参见微信公众平台官方文档。

在创建项目之后,可以将下载的 ecomfe/echarts-for-weixin 项目完全替换新建的项目,然后将修改代码;或者仅拷贝 ec-canvas 目录到新建的项目下,然后做相应的调整。

如果采用完全替换的方式,需要将 project.config.json 中的 appid 替换成在公众平台申请的项目 id。pages 目录下的每个文件夹是一个页面,可以根据情况删除不需要的页面,并且在 app.json 中删除对应页面。

创建图表

首先,在 pages/bar 目录下新建以下几个文件:index.js、 index.json、 index.wxml、 index.wxss。并且在 app.json 的 pages 中增加 ‘pages/bar/index'。

index.json 配置如下:

{
 "usingComponents": {
 "ec-canvas": "../../ec-canvas/ec-canvas"
 }
}

这一配置的作用是,允许ECharts在 pages/bar/index.wxml 中使用 组件。注意路径的相对位置要写对,如果目录结构和本例相同,就应该像上面这样配置。

index.wxml 中,ECharts创建了一个 组件,内容如下:

<view class="container">
 <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>

其中 ec 是一个ECharts在 index.js 中定义的对象,它使得图表能够在页面加载后被初始化并设置。index.js 的结构如下:

function initChart(canvas, width, height) {
 const chart = echarts.init(canvas, null, {
 width: width,
 height: height
 });
 canvas.setChart(chart);

 var option = {
 ...
 };
 chart.setOption(option);
 return chart;
}

Page({
 data: {
 ec: {
  onInit: initChart
 }
 }
});

这对于所有 ECharts 图表都是通用的,用户只需要修改上面 option 的内容,即可改变图表。option 的使用方法参见ECharts 配置项文档。对于不熟悉 ECharts 的用户,可以参见 5 分钟上手 ECharts 教程。

下面是小程序的折线图demo:

1、首先是在pages文件夹下面新建line文件夹,里面对应的line.js、line.json、line.wxml、line.wxss

2、line.xml文件下面的代码:

微信小程序中使用echarts的实现方法

3.line.wxss代码如下:

微信小程序中使用echarts的实现方法

4、line.json代码:(注意该路径是我项目的路径,大家改成自己项目路径即可)

微信小程序中使用echarts的实现方法

5、line.js代码:

微信小程序中使用echarts的实现方法

最终完成效果:

微信小程序中使用echarts的实现方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
JavaScript ES5标准中新增的Array方法
Jun 28 Javascript
浅析JavaScript函数的调用模式
Aug 10 Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
vue组件与复用详解
Apr 08 Javascript
Vue+webpack+Element 兼容问题总结(小结)
Aug 16 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
nuxt配置通过指定IP和端口访问的实现
Jan 08 Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 #Javascript
详解微信小程序开发用户授权登陆
Apr 24 #Javascript
微信小程序实现的一键拨号功能示例
Apr 24 #Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 #Javascript
微信小程序实现的图片保存功能示例
Apr 24 #Javascript
vue中的inject学习教程
Apr 24 #Javascript
浅谈Webpack多页应用HMR卡住问题
Apr 24 #Javascript
You might like
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
默默简单的写了一个模板引擎
2007/01/02 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
js返回上一页并刷新代码整理
2012/12/21 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
使用angular写一个hello world
2015/01/23 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python爬取成语接龙类网站
2018/10/19 Python
Python单链表原理与实现方法详解
2020/02/22 Python
django queryset相加和筛选教程
2020/05/18 Python
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
项目合作意向书模板
2014/07/29 职场文书
项目工作说明书
2014/07/29 职场文书
小学教师求职信范文
2015/03/20 职场文书
学习十八大的感悟
2015/08/11 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA