微信小程序中使用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 相关文章推荐
对google个性主页的拖拽效果的js的完整注释[转]
Apr 10 Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
js中关于String对象的replace使用详解
May 24 Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 Javascript
js style.display=block显示布局错乱问题的解决方法
Sep 21 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
详解在vue-cli中使用路由
Sep 25 Javascript
JS中Attr的用法详解
Oct 09 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
详解Vue This$Store总结
Dec 17 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
分享几个JavaScript运算符的使用技巧
Apr 24 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
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PDO::setAttribute讲解
2019/01/29 PHP
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
手机配件第一品牌:ZAGG
2017/05/28 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
优秀党员主要事迹
2014/01/19 职场文书
商场活动策划方案
2014/01/24 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
乔迁之喜主持词
2014/03/27 职场文书
法院授权委托书范文
2014/08/02 职场文书
优秀护士事迹材料
2014/12/25 职场文书
学生评语集锦
2015/01/04 职场文书
竞聘书的秘诀
2019/04/02 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers