1.下载微信开发者工具稳定版StableBuild|微信开放文档(qq.com)https:developers.weixin.qq.comminiprogramdevdevto
1.下载微信开发者工具
稳定版 Stable Build | 微信开放文档 (qq.com)https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
根据自身电脑系统选择下载
2. 新建小程序
安装好后,启动微信开发者工具,点击+号新建小程序
AppID的话,要么选择自己注册过的ID,要么点击红框中的“测试号”,系统会自动给一个随机ID。模板选择Javascript。然后再点击确定。
打开后界面长这样:
3. 新建页面
右击pages文件夹,选择新建文件夹
然后右击新建的文件夹“1”,选择新建Page,会自动生成4个文件
4. 引入Echarts组件
关掉小程序。
打开链接,点击克隆,下载组件
mirrors / ecomfe / echarts-for-weixin · GitCodehttps://gitcode.net/mirrors/ecomfe/echarts-for-weixin?utm_source=csdn_github_accelerator&from_codechina=yes
复制ec-canvas到小程序文件夹中
复制完后:
5. 绘制图表
以折线图为例。
打开小程序项目,编写代码。
点击1.js
import * as echarts from '../../ec-canvas/echarts' // 这个是自己实际的目录
function initChart(canvas, width, height, dpr) { // 这部分是固定的不需要 是通用的const chart = echarts.init(canvas, null, {width: width,height: height});canvas.setChart(chart);// 这是 唯一需要更改的,可根据实际情况api更改图标// option里根据需求修改var option = {color: ['#80FFA5', '#00DDFF', '#37A2FF', '#FF0087', '#FFBF00'],title: {//text: 'Gradient Stacked Area Chart'},tooltip: {trigger: 'axis',axisPointer: {type: 'cross',label: {backgroundColor: '#6a7985'}}},legend: {data: ['Line 1', 'Line 2', 'Line 3', 'Line 4', 'Line 5']},toolbox: {feature: {saveAsImage: {}}},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true},xAxis: [{type: 'category',boundaryGap: false,data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']}],yAxis: [{type: 'value'}],series: [{name: 'Line 1',type: 'line',stack: 'Total',smooth: true,lineStyle: {width: 0},showSymbol: false,areaStyle: {opacity: 0.8,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: 'rgb(128, 255, 165)'},{offset: 1,color: 'rgb(1, 191, 236)'}])},emphasis: {focus: 'series'},data: [140, 232, 101, 264, 90, 340, 250]},{name: 'Line 2',type: 'line',stack: 'Total',smooth: true,lineStyle: {width: 0},showSymbol: false,areaStyle: {opacity: 0.8,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: 'rgb(0, 221, 255)'},{offset: 1,color: 'rgb(77, 119, 255)'}])},emphasis: {focus: 'series'},data: [120, 282, 111, 234, 220, 340, 310]},{name: 'Line 3',type: 'line',stack: 'Total',smooth: true,lineStyle: {width: 0},showSymbol: false,areaStyle: {opacity: 0.8,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: 'rgb(55, 162, 255)'},{offset: 1,color: 'rgb(116, 21, 219)'}])},emphasis: {focus: 'series'},data: [320, 132, 201, 334, 190, 130, 220]},{name: 'Line 4',type: 'line',stack: 'Total',smooth: true,lineStyle: {width: 0},showSymbol: false,areaStyle: {opacity: 0.8,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: 'rgb(255, 0, 135)'},{offset: 1,color: 'rgb(135, 0, 157)'}])},emphasis: {focus: 'series'},data: [220, 402, 231, 134, 190, 230, 120]},{name: 'Line 5',type: 'line',stack: 'Total',smooth: true,lineStyle: {width: 0},showSymbol: false,label: {show: true,position: 'top'},areaStyle: {opacity: 0.8,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: 'rgb(255, 191, 0)'},{offset: 1,color: 'rgb(224, 62, 76)'}])},emphasis: {focus: 'series'},data: [220, 302, 181, 234, 210, 290, 150]}]};chart.setOption(option);return chart;
}Page({data: {ec: {onInit: initChart}},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})
其中,option中的内容根据选择的图标样式而更改,可以直接从Echarts官网中获取。
全选左边框中的代码,对1.js中的option进行更改即可。
1.json
{"usingComponents": {"ec-canvas": "../../ec-canvas/ec-canvas"}
}
1.wxml
1.wxss
/* pages/1/1.wxss */
/**index.wxss**/
ec-canvas {width: 100%; //宽度、高度自行调整height: 70%;}.container {position: absolute;top: 0;bottom: 0;left: 0;right: 0;display: flex;flex-direction: column;align-items: center;justify-content: space-between;box-sizing: border-box;} .picker-pos{margin-top: -130rpx;margin-left: 150rpx;color: blueviolet}
还有很关键的一步,需要修改app.json中的内容,不然你就会发现点击了编译后折线图没有出来,还是维持原来页面。
之前“pages/1/1”在最下面,“pages/index/index”在最上面,会导致小程序先打开index页面,所以1页面中的折线图显示不出来。要把“pages/1/1”挪到最上面。
修改完后重新编译,就会出现折线图了。