下载地址

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的更多相关文章

  1. 微信小程序图表插件 - wx-charts

    微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧支持图表类型饼图.线图.柱状图 .区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个. wx-c ...

  2. 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2

    今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...

  3. 微信小程序遍历wx:for,wx:for-item,wx:key

    微信小程序中wx:for遍历默认元素为item,但是如果我们设计多层遍历的时候我们就需要自定义item的字段名以及key的键名 wx:for="{{item.goodsList}}" ...

  4. 小程序调用wx.chooseLocation接口的时候无法获取权限(ios)

    ios手机小程序调用wx.chooseLocation接口的时候,获取权限的时候报authorize:fail:require permission desc这样子的错误,这是由于苹果的安全机制导致需 ...

  5. 微信 小程序 drawImage wx.canvasToTempFilePath wx.saveFile 获取设备宽高 尺寸问题

    以下问题测试环境为微信开发者0.10.102800,手机端iphone6,如有不对敬谢指出. 根据我的测试,context.drawImage,在开发者工具中并不能画出来,只有预览到手机中显示. wx ...

  6. 【微信小程序】wx.openLocation调取失败

    在调取地图的时候发现,wx.openLocation的方法在模拟器和安卓手机上都可以用,在苹果手机上报错. 报错为调取失败:fail invoke too frequently             ...

  7. 小程序使用wx.chooseAddress获取用户手机号码,微信chooseAddress接口获取用户收货信息

    通常用户在商城购买产品后,需要填写他的收货信息,方便我们发货,但是在手机上写字非常不方便,一个客户的收货信息包括:姓名,地址和手机号码这些内容全部填写的话,至少要写20个字. 地址 所以有些客户在手机 ...

  8. 【微信小程序】 wx:if 与 hidden(隐藏元素)区别

    wx:if 与 hidden 都可以控制微信小程序中元素的显示与否. 区别: wx:if 是遇 true 显示,hidden 是遇 false 显示. wx:if 在隐藏的时候不渲染,而 hidden ...

  9. 小程序 滚动wx.pageScrollTo

    API:https://developers.weixin.qq.com/miniprogram/dev/api/wx.pageScrollTo.html wx.pageScrollTo 在小程序的开 ...

随机推荐

  1. Android设备真实DPI与系统标示DPI——ldpi/mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi

    1.设备真实DPI与系统标示DPI 2.drawable允许的标示DPI值         drawable文件的合法名称如下: 3.如何验证         Demo如下,建立不同dpi的drawa ...

  2. Control group namespaces

    https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces https:// ...

  3. TensorFlow官网无法访问

    相信很多搞深度学习的小伙伴最近都为访问不了 TensorFlow官网 而苦恼吧!虽然网上也给出了一些方法,但是却缺少一个很重要的步骤.接下来,我就给大家讲解一个完整的过程,大牛绕过. 1.更改Host ...

  4. 华为S12700 NQA配置

    首先,nqa功能是需要授权的. 以下以ICMP配置方式示例: 在配置ICMP测试之前,需要NQA客户端与被测试设备间路由可达.(ICMP测试提供类似于普通ping命令的功能,但输出信息更为丰富.) 请 ...

  5. git忽略.idan目录

    git rm -r --cached .idea git add . git commit -m '忽略idea' git pull git push

  6. spring-boot项目建立

    使用idea来开发spring-boot项目,对于community版本的idea,由于没有spring-boot插件,所有对于开发spring-boot的web项目来说不是很方便,所以安装Ultim ...

  7. vue双向绑定的时候把遍历的数组转为了字符串,并且再转回去数组进行绑定

    我的问题大家可能不太懂,我详细再解释一下,就是我通过遍历一个大的数组,多层遍历之后,最后的值还是一个小的数组,形如: aaa:[ { bbb1:[ "111","&quo ...

  8. abtestingGateway错误集锦

    管理接口访问报错 系统版本 内核版本 Ubuntu 14.04.2 3.13.0-32-generic 我们在这里通过curl来插入命令的时候直接报错: curl命令写入规则 curl 'http:/ ...

  9. JS设计模式——观察者模式(通俗易懂)

    Observer模式的概念 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态. Observer模式提供给关联对象一种同步通信的手段 ...

  10. 【CF542D】Superhero's Job 暴力

    [CF542D]Superhero's Job 题意:$ f(x)=\sum\limits_{d|x,gcd(d,{x\over d})=1} d$ 给出 $A$ ,求方程 $f(x)=A$ 的正整数 ...