微信小程序中使用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的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
javascript的BOM汇总
Jul 16 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
基于JS实现textarea中获取动态剩余字数的方法
May 25 Javascript
Jquery获取第一个子元素简单实例
Jun 02 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
Aug 15 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
canvas的神奇用法
Feb 03 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
Jul 21 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 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
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
PHP开发注意事项总结
2015/02/04 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python实现simhash算法实例
2014/04/25 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
对python中UDP,socket的使用详解
2019/08/22 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
新手学python应该下哪个版本
2020/06/11 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
社区护士演讲稿
2014/08/27 职场文书
法制教育演讲稿
2014/09/10 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏