echarts是一个基于JS的数据可视化图标库,它提供了直观,生动,可交互,可个性定制的数据可视化图表。一般在vue中会使用到,并且官网也详细的说明了如何在vue中使用,但是今天我想来探讨的是,如何在微信小程序中使用echarts

官网中介绍到:echarts-for-weixin 项目提供了一个小程序组件,用这种方式可以方便地使用 ECharts。

可以点击上方链接,到官网指定的地址下载图中圈中的项目ec-canvas

小程序中使用echarts(硬货,全网最详细教程!)

 然后就是把这个项目下载自己的电脑上,但是这里有一个非常重要的一个点,决定你的图表是否能够出来,在我下面这张图中圈的位置,一定要注意自己下的是哪个版本,因为echarts.js很大,一般使用的话,都直接在官网定制,小程序中不会放很多echarts图表,否则整个项目太大了,会跑不起来的。

小程序中使用echarts(硬货,全网最详细教程!)

 定制自己需要的图形:接下来就是找到官网,去定制自己需要的图表(官网地址不用我再说了吧,百度也能找到的)。

小程序中使用echarts(硬货,全网最详细教程!)

点击下载,进入定制页面 :往最下面翻,方法三:在线定制

小程序中使用echarts(硬货,全网最详细教程!)

在这个页面选择你需要的东西,注意!注意!注意!这里的选择版本必须和上面下载的ec-canvas中的echarts.js的版本对应必须!必须!必须!本人当初就是吃了这个亏,嘤嘤嘤~,选择完成后,翻到最下面点击下载按钮

小程序中使用echarts(硬货,全网最详细教程!)

 然后你就会再开一个窗口下载一个文件,这时候就等着就好了。等到OK了,说明下载好了

小程序中使用echarts(硬货,全网最详细教程!)

 找到你下载的文件:echarts.min.js

小程序中使用echarts(硬货,全网最详细教程!)

准备工作都做好了!!!接下来的都是重点

 接下来就开始往你的小程序里面植入了。你可以自己新建一个components,把echarts这个目录放进去,原目录中的echarts.js删了不要,太大了,换成上一步下载的echarts.min.js,还有一点注意的就是ec-canvas.js的import引入的是原来的echarts.js文件,你需要自己改成刚才下载的文件

小程序中使用echarts(硬货,全网最详细教程!)

 然后在你需要引入echarts的文件中开始操作,拿我的文件来说吧,我要在fb这个目录里引入echarts图表

小程序中使用echarts(硬货,全网最详细教程!)

js文件:import引入的还是刚才下的文件,看你自己放在哪里的,自己去找位置

import * as echarts from "../../../../../components/echarts/echarts.min"
function initChart(canvas, width, height, dpr) {
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr
  });
  canvas.setChart(chart);
  var option = {
    backgroundColor: 'rgba(255,255,255,0.8)',
    tooltip: {
      trigger: 'item'
    },
    legend: {//显示图例
      show: true,
      top: '5%',
      left: 'center'
    },
    series: [{
      label: {
        normal: {
          fontSize: 14
        }
      },
      type: 'pie',
      center: ['50%', '60%'],//位置
      radius: ['20%', '30%'],//圈大小
      data: [{//每一项
        value: 3,
        name: '数字农业 3个'
      }, {
        value: 2,
        name: '体育产业 2个'
      }, {
        value: 7,
        name: '乡村新业态 7个'
      }, {
        value: 3,
        name: '其他产业 3个'
      }
    ]
    }]
  };
  chart.setOption(option);
  return chart;
}

在data里写:

data: {
    ec: {
      onInit: initChart
    },
  },

所有的操作都在option中,需要其他的设置的话,你就可以在echarts中找一个实例比如下面这个:饼图的所有操作也是在option中,打开文档==>配置项手册,在里面找你需要的方法啥的

小程序中使用echarts(硬货,全网最详细教程!)

 小程序中使用echarts(硬货,全网最详细教程!)

 JSON文件:这里看清楚引入的是目录中的ec-canvas.js

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

 WXML文件:这里的ec是组件对象,对应着js文件里data的ec

<view class="ec-container">
     <ec-canvas canvas-id="echart-pie" ec="{{ec}}"></ec-canvas>
</view>

wxss文件:

.ec-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 30vh;
  }
  ec-canvas {
    width: 100%;
    height: 100%;
  }

这样就可以了:

小程序中使用echarts(硬货,全网最详细教程!)

如果还是没有出来的的话,再按着我上面说的看看,哪里漏了还是什么,这应该是全网最详细的啦!!!

发表回复