您的位置:

微信小程序echarts运用指南

一、基本概念

微信小程序是一种新兴的应用平台,echarts则是一种常用的JavaScript图表库。微信小程序echarts可以将这两者结合起来,让小程序用户能够方便地使用echarts展示数据,同时在小程序端实现交互和动态效果。

二、安装与基本使用

1、安装echarts


npm install echarts -S

2、在需要使用echarts的页面json文件中添加引用


{
  "usingComponents": {
    "ec-canvas": "../../../components/ec-canvas/ec-canvas"
  }
}

3、在需要使用echarts的页面wxml文件中添加使用代码



   

4、在需要使用echarts的页面js文件中添加代码


import * as echarts from '../../libs/ec-canvas/echarts';

Page({
  data: {
    ec: {
      onInit: initChart
    }
  }
})

function initChart (canvas, width, height, dpr) {
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr // new
  });
  canvas.setChart(chart);

  var option = {
      // echarts配置
  };

  chart.setOption(option);
  return chart;
}

三、数据与交互

1、数据绑定

echarts的数据可以通过data属性进行传递,通过setData动态更新数据,实现动态展示效果。


this.setData({
  ec: {
    onInit: initChart,
    // echarts配置
    data: {
      // echarts数据
    }
  }
});

2、交互与事件

微信小程序可以通过wx.canvasTouchEvent将用户的触摸事件转化为echarts的触摸事件,进而进行交互。


canvasId = e.currentTarget.dataset.canvasId;
chartInstance = this.selectComponent('#' + canvasId).getChart();
if (chartInstance) {
  const canvas = chartInstance.getDom();
  const touchEvent = e.changedTouches[0];
  const touch = {
    x: touchEvent.x,
    y: touchEvent.y,
  };
  chartInstance.dispatchAction({
    type: 'mousemove',
    event: {
      target: 'none',
      // 转换触摸位置
      zrX: touch.x - canvas.offsetLeft,
      zrY: touch.y - canvas.offsetTop,
    }
  });
}

四、常用图表展示效果

1、折线图

折线图是一种展示连续数据变化趋势的图表,可以通过echarts提供的配置项实现各种效果。


option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    data: [820, 932, 901, 934, 1290, 1330, 1320],
    type: 'line'
  }]
};

2、柱状图

柱状图是用长方形的面积或高度等比例的表现数据的图表。在echarts中,可以通过配置项实现多种效果的柱状图。


option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    data: [820, 932, 901, 934, 1290, 1330, 1320],
    type: 'bar'
  }]
};

3、饼状图

饼状图是一种用圆环的比例表现数据的图表,echarts提供的饼状图配置项可以实现多种效果。


option = {
  series: [{
    type: 'pie',
    data: [
      {value: 335, name: '直接访问'},
      {value: 310, name: '邮件营销'},
      {value: 234, name: '联盟广告'},
      {value: 135, name: '视频广告'},
      {value: 1548, name: '搜索引擎'}
    ]
  }]
};

五、总结

本文简要介绍了微信小程序echarts的基本概念、安装与使用、数据与交互以及常用图表展示效果。希望读者能够应用本文所述的技能,为小程序增添更美观、人性化的数据展示效果。

微信小程序echarts运用指南

2023-05-20
印象笔记记录java学习(Java成长笔记)

2022-11-12
jsp程序开发学习笔记2,jsp程序设计题库

本文目录一览: 1、《JSP&Servlet学习笔记》pdf下载在线阅读,求百度网盘云资源 2、林信良编著jsp&servlet学习笔记第2版课后答案吗 3、jsp有没有快速掌握的办法呀? 4、要学J

2023-12-08
echarts小程序指南

2023-05-16
微信小程序js改变dom(微信小程序appjs)

本文目录一览: 1、微信小程序 动态修改元素class 2、微信小程序点击切换class 3、微信小程序怎么将EBD格式的文件转化成json? 4、微信小程序不能操作dom吗 5、微信小程序怎么开发

2023-12-08
微信小程序php开发,微信小程序php后端搭建

2023-01-06
微信小程序js动画,微信小程序各种动画

本文目录一览: 1、微信小程序—用动画实现自定义轮播图 2、重磅:微信小程序发布WeUI.js 官方视觉组件库! 3、微信小程序之自定义模态弹窗(带动画)实例 微信小程序—用动画实现自定义轮播图 新接

2023-12-08
微信小程序js动画,微信小程序各种动画

本文目录一览: 1、微信小程序—用动画实现自定义轮播图 2、重磅:微信小程序发布WeUI.js 官方视觉组件库! 3、微信小程序之自定义模态弹窗(带动画)实例 微信小程序—用动画实现自定义轮播图 新接

2023-12-08
php开发微信小程序步骤,thinkphp开发微信小程序

2022-11-28
js和微信小程序(js和微信小程序关联)

本文目录一览: 1、重磅:微信小程序发布WeUI.js 官方视觉组件库! 2、微信小程序wxml中使用js函数 3、微信小程序wxs的使用(当页面数据渲染前添加js操作) 4、怎样用js开发微信小程序

2023-12-08
微信小程序第三方js(微信小程序第三方支付平台)

本文目录一览: 1、怎样使用微信小程序的第三方js库? 2、重磅:微信小程序发布WeUI.js 官方视觉组件库! 3、微信小程序平台开发需要哪些技术 4、微信小程序是用什么技术实现的? 5、微信小程序

2023-12-08
微信小程序开发appjs(微信小程序开发appid)

本文目录一览: 1、写给Android开发者看的『微信小程序和Android开发的对比』 2、微信小程序开发工具没有app.js怎么办 3、如何制作微信小程序 怎样制作微信小程序 4、怎么进行小程序开

2023-12-08
小程序用js有什么用(微信小程序中的js)

本文目录一览: 1、WeChat小程序基础篇-js事件 2、微信小程序是用什么技术实现的? 3、重磅:微信小程序发布WeUI.js 官方视觉组件库! 4、javascript是什么东西啊,干什么用的,

2023-12-08
微信小游戏代码详解指南

2023-05-18
微信小程序中引入js(添加微信小程序)

本文目录一览: 1、微信小程序 怎么用第三方js库 jquery 2、微信小程序,weixin,小程序怎么引入js闭包 3、微信小程序wxml中使用js函数 4、微信小程序(上) 5、重磅:微信小程序

2023-12-08
微信小程序字体大小调整

2023-05-16
java方法整理笔记(java总结)

2022-11-08
微信小程序UI指南

2023-05-19
php开发微信小程序框架,微信小程序开发框架介绍

2022-12-01
数据库的笔记mysql,数据库管理系统笔记

2022-11-24