微信小程序中使用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中的float运算精度实例分析
Aug 21 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 Javascript
JavaScript函数作用域链分析
Feb 13 Javascript
详解JavaScript中localStorage使用要点
Jan 13 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
Jul 08 Javascript
详解vue项目中使用token的身份验证的简单实践
Mar 08 Javascript
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 Javascript
vue使用一些外部插件及样式的配置代码
Nov 18 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 工厂模式使用方法
2010/05/18 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
Python 数据结构之旋转链表
2017/02/25 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers