小程序图表wx-chart
下载地址
https://github.com/xiaolin3303/wx-charts
使用步骤:
一、解压后,把dist里面的wxcharts.js或者wxcharts-min.js放在小程序的文件夹里,在当前页面引用文件。

二、需要使用图表的wxss页面中加canvas的宽高值,若没有加则不显示

.canvas {
width: 100%;
height: 300px;
}
三、在需要使用图表的wxml 页面中加xml代码
ring 环形图
<canvas canvas-id="ringCanvas" class="canvas"></canvas>
column柱状图
<canvas canvas-id="columnCanvas" class="canvas"></canvas>
四、在需要使用图表的js页面中添加js代码
首先引入从git上下载的wxchart.js
const wxCharts = require('../../../../utils/ai/wxcharts.js'); // 引入wx-charts.js文件
var app = getApp();
var ringChart = null;
var columnChart = null;

if (that.data.chart.data.length > 0 && that.data.chart.type == 'pie') {//饼图
var _series=[];
//ring图 处理数据为百分比并保留2位小数
that.data.chart.data.forEach((r)=>{
_series.push({
name: r.name,
data: r.value,
stroke: false
})
})
//_series 值如下 必须有name、data、stroke 属性

ringChart = new wxCharts({
animation: true, //是否开启动画
canvasId: 'ringCanvas', //输入wxml中canvas的id
type: 'ring', //类型是 环形
extra: {
ringWidth: 18, //环形的宽度
pie: {
offsetAngle: -45
}
},
title: {
name: (that.data.chart.data[0].value * 100).toFixed(0) + '%',
color: '#4d93f7',
fontSize: 25
},
subtitle: {
name: that.data.chart.data[0].name,
color: '#333333',
fontSize: 15
},

series: _series,
disablePieStroke: true, //不绘制饼图(圆环图)各区块的白色分割线
width: windowWidth, //canvas宽度,单位为px
height:250, //canvas高度,单位为px
dataLabel: false, //是否在图表中显示数据内容值
legend: false, //是否显示图表下方各类别的标识
background: '#f5f5f5',
padding: 0
});
}else if (that.data.chart.data.length > 0 && that.data.chart.type == 'bar') {//柱状图
var _series = [];
var _categories = [];
//column图 处理数据为百分比并保留2位小数
that.data.chart.data.forEach((r) => {
_series.push((r.value*100).toFixed(0) ); //[21, 25, 30, 29, 37, 34]
_categories.push(r.name) //["保证书、认错书、悔过书", "照片", "聊天记录", "证人证言", "录音", "视频"]
})
// console.log(_categories)
columnChart = new wxCharts({
canvasId: 'columnCanvas',
type: 'column',
categories: _categories,
series: [
{
name: _categories[0],
data: _series,
format: function (val) {
return val + '%';
}
},
],
yAxis: {
format: function (val) {
return val;
}
},
extra: {
column: {
width: 30
}
},
width: windowWidth,
height: 300,
dataLabel: true
//划掉的是categories的值
});
}else{
console.log('无图表数据')
}
小程序图表wx-chart的更多相关文章
- 微信小程序图表插件 - wx-charts
微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧支持图表类型饼图.线图.柱状图 .区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个. wx-c ...
- 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2
今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...
- 微信小程序遍历wx:for,wx:for-item,wx:key
微信小程序中wx:for遍历默认元素为item,但是如果我们设计多层遍历的时候我们就需要自定义item的字段名以及key的键名 wx:for="{{item.goodsList}}" ...
- 小程序调用wx.chooseLocation接口的时候无法获取权限(ios)
ios手机小程序调用wx.chooseLocation接口的时候,获取权限的时候报authorize:fail:require permission desc这样子的错误,这是由于苹果的安全机制导致需 ...
- 微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题
以下问题测试环境为微信开发者0.10.102800,手机端iphone6,如有不对敬谢指出. 根据我的测试,context.drawImage,在开发者工具中并不能画出来,只有预览到手机中显示. wx ...
- 【微信小程序】wx.openLocation调取失败
在调取地图的时候发现,wx.openLocation的方法在模拟器和安卓手机上都可以用,在苹果手机上报错. 报错为调取失败:fail invoke too frequently ...
- 小程序使用wx.chooseAddress获取用户手机号码,微信chooseAddress接口获取用户收货信息
通常用户在商城购买产品后,需要填写他的收货信息,方便我们发货,但是在手机上写字非常不方便,一个客户的收货信息包括:姓名,地址和手机号码这些内容全部填写的话,至少要写20个字. 地址 所以有些客户在手机 ...
- 【微信小程序】 wx:if 与 hidden(隐藏元素)区别
wx:if 与 hidden 都可以控制微信小程序中元素的显示与否. 区别: wx:if 是遇 true 显示,hidden 是遇 false 显示. wx:if 在隐藏的时候不渲染,而 hidden ...
- 小程序 滚动wx.pageScrollTo
API:https://developers.weixin.qq.com/miniprogram/dev/api/wx.pageScrollTo.html wx.pageScrollTo 在小程序的开 ...
随机推荐
- [druid]大数据挑战——如何使用Druid实现数据聚合
-- 知道你为什么惧组件很多的一些开源软件? 因为缺乏阅读能力. 最近我接手了druid+kafka+elk一套等日志系统. 但是我对druid很陌生, 周旋了几天, 官网文档快速开始照着做了下. 看 ...
- LZW算法PHP实现方法 lzw_decompress php
LZW算法PHP实现方法 lzw_decompress php 博客分类: Php / Pear / Mysql / Node.js LZW算法简介 字符串和编码的对应关系是在压缩过程中动态生成的 ...
- 如何用cmd命令递归文件夹中的所有特定文件,拷贝到另一个文件夹中
现在有一个文件夹,里面有很多子文件夹,每个子文件夹中有很多不同类型的图片,现在想将其所有.png图片整理出来,一开始我是手动拷贝的,拷贝了几个图片后,突然想能不能让计算机来自动完成此项功能,经过一番尝 ...
- java 查看SOAP请求报文
log.info("ESB 请求URL = " + cachedEndpoint.toString());//打印SOAP请求报文 add by LinJC on 20170120 ...
- 经验之谈:Swing的开发工作会非常的累,而且这项技术正在走向没落。避免从事有这种特征的工作。
经验之谈:Swing的开发工作会非常的累,而且这项技术正在走向没落.避免从事有这种特征的工作. AWT也即将被取代. Module8—Module11所使用的技术都将被JSF技术所取代. JSF是 ...
- MySQL 大表数据定期归档
数据库有一张表数据量很大,真正WEB项目只用到一个月内的数据,因此把一个月前的旧数据定期归档. 1 - 创建一个新表,表结构和索引与旧表一模一样 create table table_news lik ...
- A股主要指数的市盈率(PE)估值高度
全指材料(SH000987) - 2019-03-18日,当前值:14.6662,平均值:29.73,中位数:25.66,当前 高于 6.91% 的交易日.全指材料(SH000987)的历史市盈率PE ...
- Linux i2c子系统(二) _通过i2c-dev.c访问设备的方法
另外一种驱动 应用层除了使用上述的使用i2c_driver接口来访问i2c设备,Linux内核还提供了一种简单粗暴的方式--直接通过虚拟i2c设备驱动的方式,即上一篇中的i2c-dev提供的方式,这种 ...
- 用lua编写wireshark插件分析自己定义的协议
参见: https://yoursunny.com/study/IS409/ScoreBoard.htm https://wiki.wireshark.org/LuaAPI/TreeItem http ...
- jsonp 的实质
发送 get请求,可以通过 浏览器输入 url地址,也可以在 javascript 脚本中手动发送 ajax. 或者也可以在 Html网页中定义一个 带 src的 Html 标签,比如 <img ...
