微信小程序中使用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 相关文章推荐
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
jquery select动态加载选择(兼容各种浏览器)
Feb 01 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
Apr 15 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
javascript实现验证IP地址等相关信息代码
May 10 Javascript
jquery实现华丽的可折角广告代码
Sep 02 Javascript
js HTML5手机刮刮乐代码
Sep 29 Javascript
vue中利用Promise封装jsonp并调取数据
Jun 18 Javascript
ES6中Symbol、Set和Map用法详解
Aug 20 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 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
php字符串截取的简单方法
2013/07/04 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
javascript document.referrer 用法
2009/04/30 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
pandas计数 value_counts()的使用
2019/06/24 Python
python变量命名的7条建议
2019/07/04 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
总经理助理的职责
2014/03/14 职场文书
人力资源求职信
2014/05/25 职场文书
应用心理学专业求职信
2014/08/04 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
早恋主题班会
2015/08/14 职场文书
Java的Object类的九种方法
2022/04/13 Java/Android