微信小程序中使用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 相关文章推荐
Firefox outerHTML实现代码
Jun 04 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
原生Javascript插件开发实践
Jan 18 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
Feb 02 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
JS设计模式之策略模式概念与用法分析
Feb 05 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
js实现双人五子棋小游戏
May 28 Javascript
解决vue+router路由跳转不起作用的一项原因
Jul 19 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 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 stream_context_create()作用和用法分析
2011/03/29 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
js初始化验证实例详解
2016/11/26 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python异常的检测和处理方法
2018/10/26 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
golang/python实现归并排序实例代码
2020/08/30 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
JNI的定义
2012/11/25 面试题
拾金不昧表扬信范文
2014/01/11 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
投标保密承诺书
2014/05/19 职场文书
学校食品安全实施方案
2014/06/14 职场文书
红色旅游心得体会
2014/09/03 职场文书
员工年终考核评语
2014/12/31 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
七年级生物教学反思
2016/02/20 职场文书
Python find()、rfind()方法及作用
2022/12/24 Python