微信小程序中使用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 实现TreeView CheckBox全选效果
Jan 11 Javascript
JavaScript中的null和undefined解析
Apr 14 Javascript
Javascript控制页面链接在新窗口打开具体方法
Aug 16 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
一个仿糯米弹框效果demo
Jul 22 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
jQuery实现点击关注和取消功能
Jul 03 jQuery
js实现购物车功能
Jun 12 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 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
短波收音机简介
2021/03/01 无线电
php实现rc4加密算法代码
2012/04/25 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
python实现定时播放mp3
2015/03/29 Python
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
Python内存管理实例分析
2019/07/10 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
一份比较全的PHP面试题
2016/07/29 面试题
介绍一下常见的木马种类
2014/11/15 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
承诺书怎么写
2014/03/26 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
党支部鉴定意见
2015/06/02 职场文书
六一亲子活动感想
2015/08/07 职场文书
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python