微信小程序中使用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多浏览器捕捉回车事件代码
Jun 22 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
js操作cookie保存浏览记录的方法
Dec 25 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
Bootstrap学习笔记之环境配置(1)
Dec 07 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 Javascript
JS变量提升原理与用法实例浅析
May 22 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
Terran兵种介绍
2020/03/14 星际争霸
php数组总结篇(一)
2008/09/30 PHP
php+mysql实现无限级分类
2015/11/11 PHP
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
对python中的pop函数和append函数详解
2018/05/04 Python
Python装饰器用法实例分析
2019/01/14 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
linux面试题参考答案(6)
2014/08/29 面试题
英语专业毕业生自荐信
2013/10/28 职场文书
八年级音乐教学反思
2014/01/09 职场文书
优秀医生事迹材料
2014/02/12 职场文书
志愿者事迹材料
2014/12/26 职场文书
发布会邀请函
2015/01/31 职场文书
会计简历自我评价
2015/03/10 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS