微信小程序中使用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入门教程(7) History历史对象
Jan 31 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
Web表单提交之disabled问题js解决方法
Jan 13 Javascript
javascript判断网页是关闭还是刷新
Sep 12 Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
简单实现js上传文件功能
Aug 21 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
Vue 自适应高度表格的实现方法
May 13 Javascript
实例讲解JavaScript 计时事件
Jul 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 身份验证方面的函数
2009/10/11 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
ini_set的用法介绍
2014/01/07 PHP
php 发送带附件邮件示例
2014/01/23 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
Python列表(list)常用操作方法小结
2015/02/02 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
音乐学个人的自荐书范文
2013/11/26 职场文书
学校采购员岗位职责
2014/01/02 职场文书
校园安全广播稿
2014/02/08 职场文书
国旗下演讲稿
2014/05/08 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang