微信小程序中使用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表单验证代码(包括例子)
Nov 11 Javascript
javascript模拟select,jselect的方法实现
Nov 08 Javascript
jquery读取xml文件实现省市县三级联动的方法
May 29 Javascript
浅谈jQuery中setInterval()方法
Jul 07 Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 Javascript
js+css简单实现网页换肤效果
Dec 29 Javascript
前端面试题及答案整理(二)
Aug 26 Javascript
js 博客内容进度插件详解
Feb 19 Javascript
将 vue 生成的 js 上传到七牛的实例
Jul 28 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
leaflet加载geojson叠加显示功能代码
Feb 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
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
js实现一个简易计算器
2020/03/30 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
深入理解python函数递归和生成器
2016/06/06 Python
python中学习K-Means和图片压缩
2017/11/20 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
python实现五子棋游戏
2019/06/18 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
出纳的岗位职责
2013/11/09 职场文书
工作迟到检讨书
2014/02/21 职场文书
信息总监管理职责范本
2014/03/08 职场文书
交警失职检讨书
2015/01/26 职场文书
大学生实习证明
2015/06/16 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python