微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大

  • 引入echarts组件
    • 展示echarts图表数据
    • 延迟加载图表
    • 如何解决echarts文件过大

引入echarts组件

  1. 前往echarts微信版的github地址: https://github.com/ecomfe/echarts-for-weixin

  2. 拷贝 ec-canvas 目录到你的微信小程序中

  3. 在页面中使用

//json页面
{"usingComponents": {"ec-canvas": "../../components/ec-canvas/ec-canvas"}
}
// js页面
import * as echarts from '../../ec-canvas/echarts';
function initChart(canvas, width, height, dpr) {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr // 像素});canvas.setChart(chart);var option = {...};chart.setOption(option);return chart;
}Page({data: {ec: {onInit: initChart}}
});

这里注意要给ec-canvas设置一定的高度和宽度

// wxml页面
<view class="container"><ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>

展示echarts图表数据

1.最基本的使用
前往echarts文档的地址: https://echarts.apache.org/examples/zh/index.html
找到你心仪的图表样式

然后复制option 的内容到自己项目代码的option中即可展示最基本的图表


延迟加载图表

无用代码删除后的精简版

import * as echarts from "../../components/ec-canvas/echarts";
function line_set(chart, data) {//xdata, ydata分别表示x轴数据和y轴数据var option = {xAxis: {type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: data,type: "line",},],};chart.setOption(option);
}Page({data: {ec: {lazyLoad: true, //延迟加载},},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {this.oneComponent = this.selectComponent("#mychart-dom-bar");this.getOption();// this.connectStart()},onReady: function () {},init_chart: function (data) {//初始化图表this.oneComponent.init((canvas, width, height, dpr) => {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr, // new});line_set(chart, data);//   this.chart = chart;//   return chart;});},//请求数据getOption: function () {// 获取数据填充进data中,具体依据实际填充const data = [[1, 2],[2, 3],[3, 4],[4, 0.4],];this.init_chart(data);},
});

如何解决echarts文件过大

1.引入echarts以后,单echarts代码包已经973KB,怎么样能缩小其体积呢?
2.使用自定义图表的方法 压缩文件大小。
(因为实际项目中可能用到的图表可能就一两个,不需要全部引进,所以可以根据实际项目情况选择用到的图表即可 )
echarts图表在线定制如下图所示: https://echarts.apache.org/zh/builder.html

3.将下载的echarts.min.js重命名为echarts.js替换项目ec-canvas目录下的echarts.js,将原本大小将近1000KB的echarts压缩了一半。

微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大相关推荐

  1. 微信小程序 picker-view 的 bindChange延迟问题的解决办法

    这里写自定义目录标题 微信小程序 picker-view 的 bindChange延迟问题的解决办法 微信小程序 picker-view 的 bindChange延迟问题的解决办法 微信小程序的 pi ...

  2. uniapp实现微信小程序云开发数据库访问,并解决云开发数据库获取不到数据问题

    uniapp实现微信小程序云开发数据库访问,并解决云开发数据库获取不到数据问题 使用工具是HBuilder X 1.配置好AppID(小程序ID) 在HBuilder X工具的manifest.js文 ...

  3. IOS微信小程序页面滚动导致滚动穿透的解决办法

    IOS微信小程序页面滚动导致滚动穿透的解决办法 当微信小程序页面存在弹窗并且有可滚动的列表时,IOS默认的页面滚动会使弹窗滚动列表失焦,从而出现弹窗列表无法滚动的情况 第一步 第二步 当微信小程序页面 ...

  4. 【Exception】微信小程序,配置普通链接二维码规则 文件校验失败问题 校验文件检查失败 扫普通链接二维码打开小程序

    [Exception]微信小程序,配置普通链接二维码规则 文件校验失败问题 校验文件检查失败 扫普通链接二维码打开小程序 一.问题描述 1.公司业务有个需求,扫描普通的二维码,跳转到小程序的某个页面, ...

  5. 微信小程序页面上面的名字怎么改_微信小程序如何动态修改页面标题——已解决...

    微信小程序初始化的标题我们知道实在全局.json文件中设置的,如果修改全局设置中的navigationBarTitleText,我们全部页面的标题都会统一改变: 例如: "navigatio ...

  6. 微信小程序H.createEvent is not a function解决

    微信小程序H.createEvent is not a function解决 解决方案: 报错信息: 解决方案: 检查接口.资源地址是否正确,如果配置了ssl使用的https,检查证书是否过期! 报错 ...

  7. 微信小程序开发错误:LoginError {type: ERR_WX_GET_USER_INFO}解决方法

    错误内容 微信小程序登录接口报以下错误: LoginError {type: "ERR_WX_GET_USER_INFO", message: "获取微信用户信息失败,请 ...

  8. 微信小程序接口测试时appid为空如何解决

    一.web接口测试和app/微信小程序接口测试的区别 web接口一般是通过浏览器访问,app接口是通过手机端访问的,所以他们header头部请求是不一样的,一样的就是User Agent这个参数. w ...

  9. 微信小程序云开发如何实现读取和下载excel文件导入数据到云数据库中?简单好理解

    一般我们在开发中会遇到通过excel文件一键导入数据的模板操作,我们在微信小程序中可以使用node-xlsx插件来解析excel文件的内容变成以json格式的数据返回. 在处理该操作的云函数中下载安装 ...

  10. 微信小程序申请医疗-就医服务类目解决办法

    微信小程序申请医疗-就医服务类目申请解决办法 选择方式为提供合同方式 由于我们公司不是医院这种类型的公司,所以没有卫生部的批文,只能选择这一种方式. 准备审核需要的资料 承诺函 合同首尾页拍照,然后通 ...

最新文章

  1. GitHub Port 443 Refused
  2. (三)Redis for StackExchange.Redis
  3. LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
  4. go语言基础到提高(5)-结构
  5. 一、Java入门和环境安装
  6. 如果A为假,则蕴含A-B恒为真
  7. MacOS 开发 —后台启动程序
  8. JS中经纬度的正则表达式(亲测有效)
  9. 最新php淘宝客优惠券网站源码
  10. 艾司博讯:拼多多发货地址在哪里看
  11. Python报错too many values to unpack解决方案
  12. idea页面不显示鼠标光标了?_Mac鼠标光标消失怎么办?苹果电脑鼠标指针不显示的解决方法
  13. “中国童装之都”牵手九州云,共建智慧园区促产业转型
  14. java编程中的di是什么_Diboot
  15. 链表(线性表的一种存储结构)
  16. OPC 、OPC DA、OPC UA介绍
  17. 红外平行光管ZEMAX光学设计/SOLIDWORKS
  18. 千万不要使用6位密码!密码破解速度全面披露
  19. 计算机桌面图标在地址栏,我的电脑地址栏不见了怎么办
  20. 2018小米春招,擦黑板

热门文章

  1. 利用JFreeChart绘制股票K线图完整解决方案
  2. java 报数游戏:有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到m的人出列
  3. 【Netty源码解析】Netty核心源码和高并发、高性能架构设计精髓
  4. robotstudio从布局创建机器人系统时,提示机械装置未能自动关联到对应的模型库
  5. 你有多久没看动漫了?
  6. 静态顺序表创建,初始化,插入,删除,查找
  7. 使用laravel5.5
  8. 怎样上传超过20G的大文件到网盘?
  9. 人脸识别智能门禁驱动社区焕新升级
  10. 用打怪游戏实例升级版,理解python面向对象