前期准备
1.echarts提供了一个微信小程序原生组件,下载地址:ecomfe/echarts-for-weixin ,拿到 ec-canvas 文件夹
2. 到 echarts官网 在线定制组件包

注意:版本一定要和 ec-canvas 相同

3.将下载的 echarts.min.js 替换掉原本的 echarts.js ,小程序文件过大影响发布
4.引入

ec-canvas.json

{"component": true,"usingComponents": {"ec-canvas":"../ec-canvas/ec-canvas"}
}

ec-canvas.wxml

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

注意:记得给容器设置宽高,否则会出现空白

ec-canvas.js

import * as echarts from '../../components/ec-canvas/echarts.min'
Page({data: {ec: {lazyLoad: true},},onReady: function () {// 手动获取到echart节点this.compBar = this.selectComponent('#mychart-dom-bar')this.loadData()},loadData: function () {api.getData().then(res => {// 数据处理const opts = {// ...}if (this.chartBar) {this.chartBar.setOption(opts)} else {this.initBar(opts)}})},initBar: function (option) {if(!this.compBar){this.compBar = this.selectComponent('#mychart-dom-bar')}this.compBar.init((canvas, width, height, dpr) => {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr // 像素});chart.setOption(option)this.chartBar = chartreturn chart})},
});

如果需要复用,可以封装成组件

my-ec-canvas.wxml

<view class="my-ec-container"><ec-canvas id="{{chartId}}" canvas-id="{{canvasId}}" ec="{{ec}}"></ec-canvas>
</view>

my-ec-canvas.js

import * as echarts from '../../components/ec-canvas/echarts.min'Component({properties: {chartId: {type: String,value: null},canvasId: {type: String,value: null},chartOpts: {type: Object,value: {}}},data: {ec: {lazyLoad: true}},methods: {initChart(options) {if(!this.chartComp){this.chartComp = this.selectComponent(`#${this.properties.chartId}`)}this.chartComp && this.chartComp.init((canvas, width, height, dpr) => {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr})chart.setOption(options)this.chart = chartreturn chart})}},observers: {'chartOpts': function (opts) {if (this.chart) {this.chart.setOption(opts)} else {this.initChart(opts)}}}
})

使用组件,传入 id,options 配置即可

<my-ec-canvas chartId="{{chartDomId}}" canvas-id="{{canvasId}}" chartOpts="{{optionsData}}"></my-ec-canvas>

参考文章:https://juejin.cn/post/6994742503207337991

微信小程序使用echarts相关推荐

  1. 微信小程序给echarts图表动态赋值

    微信小程序给echarts图表动态赋值 接上一篇:微信小程序引入echart图表 直接上例子(运行需要结合上一篇,拉至文章顶部进入): import * as echarts from '../../ ...

  2. 微信小程序利用echarts实现中国任意行政区域地图

    微信小程序利用echarts实现中国任意行政区域地图 前言 实现 克隆代码 集成 点击事件 点击跳转 代码改造 尾巴 前言 最近微信小程序中需要绘制地图,然后点击地图可以跳转到下一层级.研究了一番,选 ...

  3. 微信小程序使用echarts绘画动态图表

    微信小程序使用echarts绘画动态图表 首先我们从官网下载echarts插件,路径是https://github.com/ecomfe/echarts-for-weixin,把echarts文件放到 ...

  4. 微信小程序使用echarts实时更新数据以及常见bug

    ** 微信小程序使用echarts实时更新数据以及常见bug ** 参考echarts官方文档:https://echarts.apache.org/zh/tutorial.html 下载小程序ech ...

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

    微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大 引入echarts组件 展示echarts图表数据 延迟加载图表 如何解决echarts文件过大 引入echarts组件 ...

  6. 微信小程序使用Echarts真机调试报错,Echarts占内存过大解决方法

    Echarts真机调试报错 解决办法:给组件添加force-use-old-canvas="true"属性就可以在真机调试里展示. 重点:发布线上时,一定要将这句去掉,现在只是不支 ...

  7. UNIAPP微信小程序使用Echarts

    UNIAPP微信小程序使用Echarts 1. 前言 ​ 最近要在uniapp做的小程序中使用echarts,网上搜了很多教程都很麻烦,这里提供一种简便快捷CV方案. ​ 先说下图表选型的问题,如果你 ...

  8. 微信小程序使用echarts不显示的问题

    前几天在微信小程序中用echarts发现不显示,主要有一下几个可能 一.没配置好json,应配置如下 {"usingComponents": {"ec-canvas&qu ...

  9. 微信小程序使用echarts/数据刷新重新渲染/图层遮挡问题

    微信小程序使用echarts/数据刷新重新渲染/图层遮挡问题 1.微信小程序使用echarts,首先下载echarts并导入小程序项目中,因小程序后期上线对文件大小有要求,所以建议进行定制下载导入可减 ...

  10. 微信小程序使用Echarts绘制K线图与双曲线图以及实现tab切换

    在微信小程序中使用Echarts需要下载相应的文件,可在这下载ec-canvas,该github里也有很多很好的例子,可自行调试学习. 本例子的目录结构: 微信小程序使用Echarts的步骤 在需要引 ...

最新文章

  1. flink批量写入oracle,批量写入目标表存在重复写入问题
  2. redis中的quicklist
  3. JAVA构造MAP并初始化MAP
  4. vs.net 中编译链接vc工程时的LNK171@mspdb140.dll错误处理
  5. 网信集团:一直在正常运营 高管被带走消息不实
  6. Ubuntu配置教程
  7. 大数据应用智能交通有哪些意义
  8. Arena4D点云数据处理软件简介
  9. 平安银行java面试_平安银行JAVA笔试题一.doc
  10. 记录String.valueOf()和toString()注意问题
  11. 加权平均资本成本(Weighted Average Cost of Capital,WACC)
  12. 工业设计公司如何进行家电设计创新?
  13. Erlang并发编程(五) --- bigwig
  14. 微信小程序之网易云音乐小案例
  15. 瓜子二手车后台研发实习生面经
  16. CS61A Lab 12
  17. ava虚拟机详解--GC算法和种类【重要】
  18. linux/php一句话图片马及实例
  19. 浙江省计算机二级用户名,2016年浙江省计算机二级上机操作题
  20. Android studio 中删除git 版本控制

热门文章

  1. 2、Loust并发测试,将查询结果返回给另一接口
  2. 云服务器文件做共享,云服务器文件共享
  3. 报错解决方案参考:《xv6分析与实验》中关于qemu运行报错解决方法
  4. Jmeter性能测试-插件
  5. SQLite封锁机制
  6. SQLite3 获取最小可用ID,ID无需包含1
  7. Arduino ESP8266/ESP32读取和改写MAC
  8. AI智能润色改写,伪原创写作工具,毕业论文必备工具
  9. 为什么要创业,有人盆满钵满、有人别无选择,区别在创业思维
  10. 服务器显示断开网络驱动器,断开网络驱动器 快速映射盘符