微信小程序中使用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 相关文章推荐
jQuery Tools tab(幻灯片)
Jul 14 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
Jun 24 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
php register_shutdown_function函数详解
Jul 23 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
Oct 30 Javascript
webpack优化的深入理解
Dec 10 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
Mar 05 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
Angular.JS读取数据库数据调用完整实例
Jul 02 Javascript
JavaScript This指向问题详解
Nov 25 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
vue实现计算器功能
2020/02/22 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
python类的继承实例详解
2017/03/30 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
python计算auc的方法
2020/09/09 Python
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
精彩的英文自荐信
2014/01/30 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
小学生交通安全寄语
2015/02/27 职场文书
微观世界观后感
2015/06/10 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
Python天气语音播报小助手
2021/09/25 Python
Python实现视频自动打码的示例代码
2022/04/08 Python