zoukankan      html  css  js  c++  java
  • 小程序图表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,   //不绘制饼图(圆环图)各区块的白色分割线
                 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: {
                     30
                  }
                },
                 windowWidth,
                height: 300,
                dataLabel: true
          
          //划掉的是categories的值
       }); 
    }
    else{
      console.log(
    '无图表数据')
    }
  • 相关阅读:
    Hadoop HDFS
    React对比Vue(04 父子组件的通信 )
    React对比Vue(一些小细节的差异)
    React对比Vue(03 事件的对比,传递参数对比,事件对象,ref获取DOM节点,表单事件,键盘事件,约束非约束组件等)
    React对比Vue(02 绑定属性,图片引入,数组循环等对比)
    React对比Vue(01 数据的定义,使用,组件的写法,目录结构等)
    vue中实现浏览器的复制功能
    vue中输入框聚焦,自动跳转下一个输入框
    彻底理解什么是原型链,prototype和__proto__的区别以及es5中的继承
    js函数中写默认值的几种方式(常见的)
  • 原文地址:https://www.cnblogs.com/dudu123/p/10400806.html
Copyright © 2011-2022 走看看