微信小程序中使用echarts
一、效果图
二、代码
import * as echarts from '../../component/ec-canvas/echarts';
const app = getApp();
var xData = ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00"], yData = [], chart, charts, pc=0, mobile=0;
function initChart(canvas, width, height) {
chart = echarts.init(canvas, null, {
width: width,
height: height
});
canvas.setChart(chart);
var option = {
color: ["#37A2DA"],
xAxis: {
type: 'category',
boundaryGap: false,
data: xData,
},
yAxis: {
x: 'center',
type: 'value'
},
series: [{
type: 'line',
smooth: true,
data: yData
}]
};
chart.setOption(option);
return chart;
}
function initCharts(canvas, width, height) {
charts = echarts.init(canvas, null, {
width: width,
height: height
});
canvas.setChart(charts); var options = {
color: ["#3498DB", "#E062AE"],
tooltip: {
trigger: 'item',
formatter: "{a} {b}: {c} ({d}%)"
},
legend: {
orient: 'vertical',
x: 'left',
paddingTop: '50px',
data: ['移动端', 'PC端']
},
grid: {
left: 20,
right: 20,
bottom: 15,
top: 40,
containLabel: true
}, series: [
{
name: '访问来源',
type: 'pie',
label: {
normal: {
show: true,
position: 'outside',
formatter: '{b}:{c}'
},
emphasis: {
show: true,
textStyle: {
fontSize: '20',
fontWeight: 'bold'
}
}
},
data: [
{ value: mobile, name: "移动端" },
{ value: pc, name:"PC端"}
]
}
]
}; charts.setOption(options);
return charts;
}
Page({
data: {
tabs: ["今日", "昨日", "近7日", "近30日"],
activeIndex: 0,
sliderOffset: 0,
sliderLeft: 0,
ec: {
onInit: initChart
},
ecs: {
onInit: initCharts
}
},
onLoad: function (options) {
var that = this;
app.initNavbar(that);
},
onShow: function () {
var that = this;
setTimeout(function () {
that.getDataInfo(0)
}, 500)
},
tabClick: function (e) {
this.setData({
sliderOffset: e.currentTarget.offsetLeft,
activeIndex: e.currentTarget.id
});
this.getDataInfo(e.currentTarget.id);
},
getDataInfo(index) {
wx.showLoading({
title: '正在加载...',
mask: true
});
var that = this;
wx.request({
url: app.api.getData,
data: {
userid: wx.getStorageSync("userInfo").userid,
action: index
},
success(res) {
var yData = res.data.yData;
var xData = res.data.xData;
var option = chart.getOption();
option.series[0].data = yData;
option.xAxis = {
type: 'category',
boundaryGap: false,
data: xData,
};
chart.setOption(option, true);
var options = charts.getOption();
options.series[0].data[0].value = res.data.mobile.num;
options.series[0].data[1].value = res.data.pc.num;
charts.setOption(options, true);
that.setData({
ip: res.data.ip,
messall: res.data.messall,
view: res.data.view
})
},
error() {
app.errorModal("网络出错");
},
complete() {
wx.hideLoading();
}
})
}
})
<ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas>
三、下载
下载ec-cavas地址:https://github.com/ecomfe/echarts-for-weixin
四、Demo
微信小程序中使用echarts的更多相关文章
- 微信小程序中使用ECharts 异步加载数据 实现图表
<!--pages/bar/index.wxml--> <view class="container"> <ec-canvas id="my ...
- 在微信小程序中使用 echarts 图片-例 折线图
首先进入echarts官方[https://echarts.apache.org/handbook/zh/get-started/].这边只需要在小程序中简单应用一下echarts折线图 所以不需要把 ...
- 网页或微信小程序中使元素占满整个屏幕高度
在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情 ...
- 在微信小程序中使用富文本转化插件wxParse
在微信小程序中我们往往需要展示一些丰富的页面内容,包括图片.文本等,基本上要求能够解析常规的HTML最好,由于微信的视图标签和HTML标签不一样,但是也有相对应的关系,因此有人把HTML转换做成了一个 ...
- 微信小程序中发送模版消息注意事项
在微信小程序中发送模版消息 参考微信公众平台Api文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#模版消息管理 此参考地址 ...
- 微信小程序中placeholder的样式
通常,现代浏览器大多支持::placeholder选择器,用于设置placeholder的样式,但是在微信小程序中并不支持这种方式,而是提供了一个专门的属性(placeholder-class)来处理 ...
- 微信小程序中转义字符的处理
在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:‘<’.‘>’.‘&’.‘空格’等,微信小程序同样支持对转义字符的处理,下面提供两种方法用来处理微信小程序中转义字符的处理 ...
- 微信小程序中用户登录和登录态维护
提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户 ...
- 微信小程序中的组件使用1
不管是vue还是react中,都在强调组件思想,同样,在微信小程序中也是使用组件思想来实现页面复用的,下面就简单介绍一下微信小程序中的组件思想. 组件定义与使用 要使用组件,首先需要有组件页面和使用组 ...
随机推荐
- android ndk环境搭建,如果是mac,请先装mac make编译器(可以使用Xcode进行安装)
Android SDK:android-sdk-mac_86Android NDK: android-ndk-r4b-darwin-x86EclipseADTCDTANT搭建Android SDK开发 ...
- String模块ascii_letters和digits
Python3中String模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9. 示例如下: Pytho ...
- EF include 预先加载
在asp.net mvc 中,常在控制器中预先加载导航属性,以便在视图中能够显示起关联的数据. 如果不预先加载,View中就会无法呈现外键的 关联数据. 会提示EF 错误发生. 一. 模型: publ ...
- Hardcoded string "下一步", should use @string resource警告 (转载)
转自:http://blog.csdn.net/iqv520/article/details/7579513 在布局文件中,文本的设置使用如下写法时会有警告:Hardcoded string &quo ...
- [Swift通天遁地]一、超级工具-(1)动态标签:给UILabel文字中的Flag和url添加点击事件
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- (博弈论 高精度小数)51NOD 1185 威佐夫游戏 V2
有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取.拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出2堆石子的数量, ...
- java启动参数二
非标准参数又称为扩展参数,其列表如下: -Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码. -Xbatch 关闭后台代码编译,强制在前台编译,编译完成之后才能进行代码 ...
- [转]Boosting
1 Boosting算法的起源 Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数.Boosting是一种提高任意给定 ...
- BZOJ2333 棘手的操作
Description 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作: U x y: 加一条边,连接第x个节点和第y个节点 A1 x ...
- How many Fibs? POJ - 2413
How many Fibs? POJ - 2413 高精模板 #include<cstdio> #include<cstring> #include<algorithm& ...