小程序使用图表(小程序中使用echarts(硬货,全网最详细教程!))
echarts是一个基于JS的数据可视化图标库 ,它提供了直观 ,生动 ,可交互 ,可个性定制的数据可视化图表 。一般在vue中会使用到 ,并且官网也详细的说明了如何在vue中使用 ,但是今天我想来探讨的是 ,如何在微信小程序中使用echarts:
官网中介绍到:echarts-for-weixin 项目提供了一个小程序组件 ,用这种方式可以方便地使用 ECharts 。
可以点击上方链接 ,到官网指定的地址下载图中圈中的项目ec-canvas
然后就是把这个项目下载自己的电脑上 ,但是这里有一个非常重要的一个点 ,决定你的图表是否能够出来 ,在我下面这张图中圈的位置,一定要注意自己下的是哪个版本 ,因为echarts.js很大 ,一般使用的话,都直接在官网定制 ,小程序中不会放很多echarts图表 ,否则整个项目太大了 ,会跑不起来的 。
定制自己需要的图形:接下来就是找到官网 ,去定制自己需要的图表(官网地址不用我再说了吧 ,百度也能找到的) 。
点击下载 ,进入定制页面 :往最下面翻 ,方法三:在线定制
在这个页面选择你需要的东西 ,注意!注意!注意! ,这里的选择版本 ,必须和上面下载的ec-canvas中的echarts.js的版本对应 ,必须!必须!必须!本人当初就是吃了这个亏 ,嘤嘤嘤~,选择完成后 ,翻到最下面点击下载按钮 。
然后你就会再开一个窗口下载一个文件 ,这时候就等着就好了 。等到OK了,说明下载好了
找到你下载的文件:echarts.min.js
准备工作都做好了!!!接下来的都是重点
接下来就开始往你的小程序里面植入了 。你可以自己新建一个components ,把echarts这个目录放进去 ,原目录中的echarts.js删了不要,太大了,换成上一步下载的echarts.min.js ,还有一点注意的就是ec-canvas.js的import引入的是原来的echarts.js文件 ,你需要自己改成刚才下载的文件
然后在你需要引入echarts的文件中开始操作 ,拿我的文件来说吧 ,我要在fb这个目录里引入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中 ,打开文档==>配置项手册 ,在里面找你需要的方法啥的
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%; }这样就可以了:
如果还是没有出来的的话 ,再按着我上面说的看看 ,哪里漏了还是什么,这应该是全网最详细的啦!!!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!