在小程序中使用Echart图表

在小程序中使用Echart图表

  • Echart UI构建(柱状图)
  • Echart 假数据
  • Echart 动态设置数据

柱状图UI示例

    // Echart config,包括init data 和style及数据类型
    var option = {
      animation: false,//提高页面加载速度,关闭echart的动画
      grid: [
        //grid section UI
          ...
      ],
      xAxis: [
        //xAxis section UI
          ...
      ],
      yAxis: [
        //yAxis section UI
          ...
      ],
      series: [
        {
        //左侧坐标轴UI 
          ...
          data: [100, 100, 100, 100, 100],
        },
        {
        //左侧柱状图 UI 及数据
          ...
          data: [66, 54, 87, 78, 87],
        },
        {
        //右侧坐标轴UI
          ...
          data: [100, 100, 100, 100, 100],
        },
        {
          //右侧柱状图 UI 及数据
          ...
          data: [84, 87, 86, 76, 76],
        },
      ]
    }
    // 初始化Echart图表UI
    function initChart(canvas, width, height) {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height
      })
      canvas.setChart(chart)
      chart.setOption(option)
      return chart
    }

以上就是利用echart图表插件在小程序中生成一个我们需要的柱状图用以展示我们需要表达给用户的数据表。

当然,在实际的开发中,所有的数据都是通过获取数据库中的数据,然后根据数据生成,而不是写死在series[]中,那么如何将ajax或者其他方式获取到的数据传入我们的UI中呢?

Echart的文档告诉我们:

数据的动态更新

ECharts 由数据驱动,数据的改变驱动图表展现的改变,因此动态数据的实现也变得异常简单。
所有数据的更新都通过 setOption实现,你只需要定时获取数据,setOption 填入数据,而不用考虑数据到底产生了那些变化,ECharts 会找到两组数据之间的差异然后通过合适的动画去表现数据的变化。

也就是上面示例代码中的这个方法

chart.setOption(option)

ok直接看代码:

var hostTeamInfo = []//获取的数据
option.series[1].data = hostTeamInfo//根据前文,设置左侧的数据

根据小程序的指导文档,这部分代码需要在page()生命周期中完成,至于是在onLoad还是onReady中,需要各位根据实际情况来决定

效果图:

clipboard.png


Code's punchline
We're not programmers, we're geeks.

We're not programmers, we're geeks.

279 声望
3 粉丝
0 条评论
推荐阅读
一张图带你学设计模式-单例模式

vayne1阅读 1.2k

使用taro+canvas实现微信小程序的图片分享功能 | 京东云技术团队
二轮充电业务中,用户充电完成后在订单详情页展示订单相关信息,用户点击分享按钮唤起微信小程序分享菜单,将生成的图片海报分享给微信好友或者下载到本地,好友可通过扫描海报中的二维码加群领取优惠。

京东云开发者2阅读 526

封面图
小程序内参数和扫码参数统一
写小程序的时候都会遇到扫码参数和小程序内跳转参数要分开处理的问题,但实际上参数和处理的方式都是一样的,这里封装一种方法,将扫码参数直接放到options下面,这样就不需要分开独立处理,减少冗余代码增加代码...

海洋饼干1阅读 877

1000套微信小程序源码开源版附H5小游戏源码及商城源码
随着微信小程序功能和生态的日益完善,很多企业的产品业务逐渐从App扩展到微信小程序和微信公众号。随着小程序项目页面越来越多,业务逻辑越来越复杂,现有的小程序元源码数量和种类不能满足快速增长的业务需求。...

会搭讪的烤地瓜阅读 3.6k

微信小程序归结
是的,在这个框架满天飞的年代,我既然有有幸使用了原生小程序开发项目,除了麻烦些,倒也不是一无所获,耕耘总有收货嘛,写博客本身不是为了炫技还是什么,单纯的是记性不好,有些知识点 自己是花了时间去查找的...

HappyCodingTop1阅读 1.3k

封面图
5 分钟带你小程序入门 [实战总结分享]
微信小程序常常用 4 种文件类型JS 文件JS 在小程序中用于编写页面逻辑和交互效果,可调用 API 接口完成数据请求和处理,也可以使用第三方库和框架。模块化编程:小程序中JS文件可以使用ES6的模块化语法,通过expo...

程序员海军2阅读 498

封面图
基于微信云开发 SayLove 表白墙微信小程序V1.0
后续会继续更新,敬请期待2.0全新版本~欢迎添加右边的微信一起探讨!项目地址:[链接][其他开源项目]租房小程序 [链接]计划助手 [链接]Bug修复更新日历[2021-05-12] 更新说明:【 课设毕设参考专用版本 】针对 昵...

LiangSenCheng阅读 2.1k

We're not programmers, we're geeks.

279 声望
3 粉丝
宣传栏