微信小程序使用Echarts图表组件,动态加载数据,图表模糊处理
1:下载 GitHub 上的项目
https://github.com/ecomfe/echarts-for-weixin
2:项目下载之后,打开小程序开发工具,可以看到效果如下
3:如果是在项目里面引入组件的话,将github上下载的ec-canvas
文件夹复制到你的项目里面。
4:组件已经复制到了我的项目里面,想实现一个折线图,现在可以去组件中复制代码。
wxml
<!--index.wxml-->
<view class="container"><ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas>
</view>
js
import * as echarts from '../../ec-canvas/echarts';const app = getApp();function initChart(canvas, width, height) {const chart = echarts.init(canvas, null, {width: width,height: height});canvas.setChart(chart);var option = {title: {text: '测试下面legend的红色区域不应被裁剪',left: 'center'},color: ["#37A2DA", "#67E0E3", "#9FE6B8"],legend: {data: ['A', 'B', 'C'],top: 50,left: 'center',backgroundColor: 'red',z: 100},grid: {containLabel: true},tooltip: {show: true,trigger: 'axis'},xAxis: {type: 'category',boundaryGap: false,data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],// show: false},yAxis: {x: 'center',type: 'value',splitLine: {lineStyle: {type: 'dashed'}}// show: false},series: [{name: 'A',type: 'line',smooth: true,data: [18, 36, 65, 30, 78, 40, 33]}, {name: 'B',type: 'line',smooth: true,data: [12, 50, 51, 35, 70, 30, 20]}, {name: 'C',type: 'line',smooth: true,data: [10, 30, 31, 50, 40, 20, 10]}]};chart.setOption(option);return chart;
}Page(data: {ec: {onInit: initChart}}
});
json
{"usingComponents": {"ec-canvas": "../../ec-canvas/ec-canvas"}
}
css
/**index.wxss**/
ec-canvas {width: 100%;height: 100%;
}
5:动态加载数据,都写在js中
定义全局变量,方便赋值
let pieData = []
定义图表
data: {ec: {lazyLoad: true, // 延迟加载},},
解决小程序视图模糊的问题,定义全局函数,并且调用返回数据
//获取像素比
const getPixelRatio = () => {let pixelRatio = 0wx.getSystemInfo({success: function (res) {pixelRatio = res.pixelRatio},fail: function () {pixelRatio = 0}})return pixelRatio
}
// console.log(pixelRatio)
let dpr = getPixelRatio()
初始化图表,添加 devicePixelRatio: dpr 解决小程序视图模糊的问题
//初始化图表init_echarts: function () {this.echartsComponnet.init((canvas, width, height) => {// 初始化图表const Chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr //解决小程序视图模糊的问题,必写});Chart.setOption(this.getOption());// 注意这里一定要返回 chart 实例,否则会影响事件处理等return Chart;});},
指定图表的配置
getOption: function () {// 指定图表的配置项和数据var option = {// legend: {// bottom: '5',// left: '15%'// },series: [{name: '访问来源',type: 'pie',radius: '55%',top: '-15%',hoverAnimation:false,label: {position: 'inner',formatter: function (params) {return params.value + '%';},fontSize: 14,color: '#fff'},labelLine: {show: false},color: ['#09BB07', '#F57325', '#4289FD', '#FF5343'],data: pieData}]};return option;},
获取数据时给图表赋值,并且初始化图表
// 获取课堂签到统计async getTaskSignCount(data) {let res = await getTaskSignCount(data)console.log(res);if (res.data.status == '10000') {this.setData({taskList: res.data.data})let arr = []<!-- ...数据处理 -->pieData = arrthis.init_echarts(); //初始化图表}},
微信小程序使用Echarts图表组件,动态加载数据,图表模糊处理相关推荐
- 微信小程序开发之scroll-view上拉加载数据实现
微信小程序开发之scroll-view上拉加载数据实现 一.开发思路 1.使用小程序的scroll-view组件中提供了一个bindscrolltolower属性监听组件的滑动到了底部 https:/ ...
- 微信小程序中使用echart、动态加载几条折线
一.示例 echart小程序示例 gitub地址:GitHub - ecomfe/echarts-for-weixin: Apache ECharts 的微信小程序版本 在小程序中放入 效果 二. 小 ...
- php微信小程序向下滑动,微信小程序功能实现:上滑加载下拉刷新
本篇文章给大家带来的内容是关于微信小程序功能实现:上滑加载下拉刷新,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 之前谈到文章列表的数据加载,是一次性全部加载,这样是不友好的.这章介 ...
- 【微信技术-微信小程序】------- 渐进式骨架屏(加载流)(第二篇)
提示:看如下内容需要了解第一篇:简单入门(骨架屏(加载流) 简单入门(第一篇)) 目录 一.什么是渐进式骨架屏? 二.实现渐进式骨架屏 三.效果展示 下载示例代码地址: 渐进式骨架屏示例代码-下载 一 ...
- 微信小程序下拉刷新/上拉加载组件
简介 一款基于官方组件scroll-view进行封装的支持上拉加载下拉刷新的微信小程序组件,需要基础库2.10.1及以上, 项目地址:github 预览 功能 下拉刷新 上拉加载 支持自定义下拉样式 ...
- 【微信小程序】image真机无法加载网络图片
背景 由于最近路边的停车位都被无情的创收铲掉了!今天把车停在了路边,可能是挡住了行人的路,被贴了个条,还留了个纸条--没有你的随车电话,我只能点电话举报你了.气的我牙痒痒! 只能回来自己撸一个挪车电话 ...
- 微信小程序下拉刷新和上拉加载
效果图 微信小程序实现下拉刷新和上拉加载有2中方法 1 用系统自带的 个人感觉特别简单 2 使用scroll-view 实现, scroll-view 里面有2个属性是滑动到顶部以及到底部如下 其实 ...
- 微信小程序下拉刷新和上拉加载的实现
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 正文: 一: 下拉刷新 下拉刷新两个步骤就能实现. 1.在要实现下拉刷新的页面的json配置文件里面加上 &q ...
- 微信小程序图片处理方案,解决加载缓慢,影响用户体验
1.改变图片尺寸:对于上传的图片,在后台对图片进行可接受范围内的最大限度压缩,图片宽高不用太大,大概预留你图片容器的1.5倍就行了,除非你做图片放大镜功能,否则小程序上加载2倍图意义不大,清晰度体验也 ...
- 微信小程序 下拉刷新/上拉加载更多 (上拉加载更多怎么实现)
参考:微信小程序开发文档->框架>逻辑层->注册页面 实现原理: 1.下拉刷新:由于小程序数据是实时渲染的.我们把data{}内的数据清空重新加载即可实现下拉刷新. 2.上拉加载更多 ...
最新文章
- PHP网站工作流程图,在网站绘制工作流程图的教程分享(打工人必看)
- 组合模型---贝叶斯模型平均
- .net MVC(存储过程+SQLHelper)
- jar包打补丁 jar -uf_maven项目引入本地jar包的方法
- python做大数据的框架_Python+大数据计算平台,PyODPS架构手把手教你搭建
- 素数方法(thinking in java)
- 2009年IT就业“危”中寻“机”
- 局域网的分层结构的优点及分层原理
- hp服务器引导驱动器,windows-server-2008 – 在没有SmartStart的HP Proliant服务器上安装Windows...
- NEU 1683: H-Index
- nfc卡模式与标准模式_干货丨NFC最全解析
- 动态调试|Maccms SQL 注入分析(附注入盲注脚本)
- lowB三人组---冒泡排序原理和实现
- Wordnet的一些简单使用
- cf Round#779 D 388535
- 【图神经网络】图分类学习研究综述[2]:基于图神经网络的图分类
- java吃货联盟的实训报告_作业:吃货联盟
- linux定时发信息到微信群聊,Wechat-Timed-Message
- 概率论与数理统计慕课答案(郑州轻工业大学)
- 约翰·克利斯朵夫(三)
热门文章
- HDFS权限管理、用户身份认证和数据访问授权、UGO权限管理、umask权限掩码、UGO权限相关命令、Web页面修改UGO权限
- linux UGO权限
- C语言中的字符与字符串库函数的使用以及模拟实现
- Smarty教程[7]
- java getabsolutepath_Java File getAbsolutePath()用法及代码示例
- java getpath()_Java File getAbsolutePath()方法
- Python笔记-windows管道通信
- 媒体和娱乐、设计公司对 Splashtop 大为赞赏
- 200行代码如何实现人脸识别开锁应用?
- Freemarker新手教程