微信小程序教程之-小程序中使用echarts
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信小程序教程之-小程序中使用echarts,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4257字,纯文字阅读大概需要7分钟。
内容图文
微信小程序使用echarts教程
平时经常在web系统中使用折线图、柱状图、仪表盘等等等图表展示数据,在浏览器页面中我们为了方便经常使用echarts,官网教程也写的很清楚。
但是在微信小程序中我们同样有这种需求,那么如果直接用canvas,那么久太麻烦了,说不定一个折线图画一上午!,所有瞬间就会想到echarts等框架,但是echarts官网没有小程序版,不过!!!已经有人在github发布echarts的小程序版本了。。感谢大神分享。
首先,下载echarts微信版 地址:https://github.com/ecomfe/echarts-for-weixin
下载后打开,如图所示:
? QQ截图20181220174042.jpg
将下载好的文件中 ec-canvas目录 放在小程序项目目录中即可。如下图所示:
? QQ截图20181220165743.jpg
然后在需要的地方引入即可,下面就做一个折线图吧。
1.在页面开启使用echarts
如:在 page目录的ceshi页面中使用echarts的话,需要在ceshi.json中添加以下配置。
"usingComponents": {
"ec-canvas": "../../ec-canvas/ec-canvas"
}
2.引入
在 ceshi.js 中引入echarts.js
import * as echarts from '../../ec-canvas/echarts';
3.wxml元素
在ceshi.wxml中建立一个元素,外层用view包一下是方便设置echarts元素的宽高。
<view class="echart_panel">
<ec-canvas></ec-canvas>
</view>
4.开始编写图表 折线图
我是在ceshi.js中直接写了一个函数,传一些参数,返回一个option,至于echarts的option写法,可以参考echats官网api文档。
function getOption(xData, data_cur, data_his) {
var option = {
backgroundColor: "#f5f4f3",
color: ["#37A2DA", "#f2960d", "#67E0E3", "#9FE6B8"],
title: {
text: '实时运行速度',
textStyle: {
fontWeight: '500',
fontSize: 15,
color: '#000'
},
x:'center',
y:'0'
},
legend: {
data: ['今日', '昨日'],
right: 10
},
grid: {
top: '15%',
left: '1%',
right: '3%',
bottom: '60rpx',
containLabel: true
},
tooltip: {
show: true,
trigger: 'axis'
},
xAxis: {
type: 'category',
boundaryGap: false,
data: xData||[],
axisLabel: {
interval: 11,
formatter: function (value, index) {
return value.substring(0, 2) * 1;
},
textStyle: {
fontsize: '10px'
}
}
},
yAxis: {
x: 'center',
name: 'km/h',
type: 'value',
min: 0,
max: 120
},
series: [{
name: '今日',
zIndex:2,
type: 'line',
smooth: true,
symbolSize: 0,
data: data_cur||[]
},{
name: '昨日',
zIndex: 1,
type: 'line',
smooth: true,
symbolSize: 0,
data: data_his||[]
}]
};
return option;
}
然后就可以在 页面page中的data中配置初始化,如何初始化?
首先 建立一个全局变量(注意,放在page外面,要全局变量,不然你在页面加载之后,在动态修改图表数据的话,没法修改,这样方便点),
然后在data中初始化echats对象 ecLine,名字随便起,按照官方写法即可,onInit函数中参数有三个,canvas, width, height,这些都不需要管,直接初始化echats元素。复制粘贴即可。
let chartLine;
Page({
data: {
ecLine: {
onInit: function (canvas, width, height){
//初始化echarts元素,绑定到全局变量,方便更改数据
chartLine = echarts.init(canvas, null, {
width: width,
height: height
});
canvas.setChart(chartLine);
//可以先不setOption,等数据加载好后赋值,
//不过那样没setOption前,echats元素是一片空白,体验不好,所有我先set。
var xData = [1,2,3,4,5......]; // x轴数据 自己写
var option = getOption(xData);
chartLine.setOption(option);
}
}
}
})
然后将建立的echats对象绑定到echarts元素中,如下:
<view class="echart_panel">
<ec-canvas ec="{{ ecLine }}"></ec-canvas>
</view>
?
QQ截图20181220171735.jpg
然后就可以在数据加载后,给图表赋值option了,或者是重新setOption的数据。
//ajax请求好数据后,调用获取option函数,传一些数据,
//然后用全局变量echarts元素chartLine 来 setOption即可。
// 三个参数: x轴数据,第一条线数据,第二条数据。 随意,echarts就跟正常用随便写就行
// 随便写几个假数据
var xData=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
var data_cur=[55,67,66,78,55,67,66,78,55,67,66,78,55,67,66,78,55,67,66,78,65,66,65,54];
var data_his=[67,66,78,65,66,65,54,67,66,78,65,66,65,54,67,66,78,65,66,65,54,67,66,78];
// 方法一:
var option = getOption(xData, data_cur, data_his);
chartLine.setOption(option);
// 方法二:
//如果上面初始化时候,已经chartLine已经setOption了,
//那么建议不要重新setOption,官方推荐写法,重新赋数据即可。
chartLine.setOption({
xAxis: {
data: xData
},
series: [{
data: data_cur
}, {
data: data_his
}]
});
效果如下:
? QQ截图20181220173033.jpg示例写的折线图,其他类型图表,可以参考echarts官网文档即可。
因为从github下载的echarts.js包含类型比较多,如果上传代码进行发布时,提示echarts文件过大,可以忽略。
或者是自己重新下载echarts定制需要的组件,如我就需要折线图,我就定制带折线图的即可。然后直接替换文件夹中的echarts.js即可。
下载定制echarts官网链接:http://echarts.baidu.com/builder.html
转自:https://www.jianshu.com/p/a2ab21bc7e9e?
内容总结
以上是互联网集市为您收集整理的微信小程序教程之-小程序中使用echarts全部内容,希望文章能够帮你解决微信小程序教程之-小程序中使用echarts所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。