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

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

支持图标类型
  • 饼图 pie
  • 圆环图 ring
  • 线图 line
  • 柱状图 column
  • 区域图 area
  • 雷达图 radar
如何使用?
  1. 直接引用编译好的文件 dist/charts.js(js下载地址
    .wxml中定义
<canvas canvas-id="lineCanvas" disable-scroll="true" class="canvas"></canvas>

canvas-id与new wxCharts({canvasId:”})中canvasId一致
2. 命令行

git clone github.com/xiaolin3303/wx-charts.git
npm install rollup -g
npm install
rollup -c 或者 rollup --config rollup.config.prod.js
参数说明
opts                         Object
opts.canvasId                String required                    微信小程序canvas-id
opts.width                   Number required                canvas宽度,单位为px
opts.height                  Number required                canvas高度,单位为px
opts.title                   Object           (only for ring chart)
opts.title.name              String           标题内容
opts.title.fontSize          Number            标题字体大小(可选,单位为px)
opts.title.color             String           标题颜色(可选)
opts.subtitle                Object         (only for ring chart)
opts.subtitle.name           String           副标题内容
opts.subtitle.fontSize       Number          副标题字体大小(可选,单位为px)
opts.subtitle.color          String          副标题颜色(可选)
opts.animation               Boolean default true         是否动画展示
opts.legend                  Boolen default true       是否显示图表下方各类别的标识
opts.type                    String required 图表类型,可选值为pie, line, column, area……
opts.categories              Array required       (饼图、圆环图不需要) 数据类别分类
opts.dataLabel               Boolean default true     是否在图表中显示数据内容值
opts.dataPointShape          Boolean default true   是否在图表中显示数据点图形标识
opts.xAxis                   Object       X轴配置
opts.xAxis.disableGrid       Boolean default false      不绘制X轴网格
opts.yAxis                   Object    Y轴配置
opts.yAxis.format            Function           自定义Y轴文案显示
opts.yAxis.min               Number        Y轴起始值
opts.yAxis.max               Number           Y轴终止值
opts.yAxis.title             String       Y轴title
opts.yAxis.disabled          Boolean default false        不绘制Y轴
opts.series                  Array required        数据列表

数据列表每项结构定义

dataItem                      Object
dataItem.data                 Array required (饼图、圆环图为Number) 数据
dataItem.color                String 例如#7cb5ec 不传入则使用系统默认配色方案
dataItem.name                 String 数据名称
dateItem.format               Function 自定义显示数据内容

详见demo(具体demo git地址

1.pie

new wxCharts({
    animation: true, //是否有动画
    canvasId: 'pieCanvas',
    type: 'pie',
    series: [{
        name: '成交量1',
        data: 15,
    }, {
        name: '成交量2',
        data: 35,
    }, {
        name: '成交量3',
        data: 78,
    }],
    width: windowWidth,
    height: 300,
    dataLabel: true,
 });
}


2. ring

new wxCharts({
    animation: true,
    canvasId: 'ringCanvas',
    type: 'ring',
    extra: {
        ringWidth: 25,
        pie: {
            offsetAngle: -45
        }
    },
    title: {
        name: '70%',
        color: '#7cb5ec',
        fontSize: 25
    },
    subtitle: {
        name: '收益率',
        color: '#666666',
        fontSize: 15
    },
    series: [{
        name: '成交量1',
        data: 15,
        stroke: false
    }, {
        name: '成交量2',
        data: 35,
         stroke: false
    }, {
        name: '成交量3',
        data: 78,
        stroke: false
    }, {
        name: '成交量4',
        data: 63,
         stroke: false
    }],
    disablePieStroke: true,
    width: windowWidth,
    height: 200,
    dataLabel: false,
    legend: false,
    padding: 0
});


3. line

new wxCharts({
    canvasId: 'lineCanvas',
    type: 'line',
    categories: simulationData.categories,
    animation: true,
    background: '#f5f5f5',
    series: [{
        name: '成交量1',
        data: simulationData.data,
        format: function (val, name) {
            return val.toFixed(2) + '万';
        }
    }, {
        name: '成交量2',
        data: [2, 0, 0, 3, null, 4, 0, 0, 2, 0],
        format: function (val, name) {
            return val.toFixed(2) + '万';
        }
    }],
    xAxis: {
        disableGrid: true
    },
    yAxis: {
        title: '成交金额 (万元)',
        format: function (val) {
            return val.toFixed(2);
        },
        min: 0
    },
    width: windowWidth,
    height: 200,
    dataLabel: false,
    dataPointShape: true,
    extra: {
        lineStyle: 'curve'
    }
});


4. column

new wxCharts({
    canvasId: 'columnCanvas',
    type: 'column',
    animation: true,
    categories: chartData.main.categories,
    series: [{
        name: '成交量',
        data: chartData.main.data,
        format: function (val, name) {
            return val.toFixed(2) + '万';
        }
    }],
    yAxis: {
        format: function (val) {
            return val + '万';
        },
        title: 'hello',
        min: 0
    },
    xAxis: {
        disableGrid: false,
        type: 'calibration'
    },
    extra: {
        column: {
            width: 15
        }
    },
    width: windowWidth,
    height: 200,
});


5. area

new wxCharts({
    canvasId: 'areaCanvas',
    type: 'area',
    categories: ['1', '2', '3', '4', '5', '6'],
    animation: true,
    series: [{
        name: '成交量1',
        data: [32, 45, 0, 56, 33, 34],
        format: function (val) {
            return val.toFixed(2) + '万';
        }
    }, {
      name: '成交量2',
      data: [15, 20, 45, 37, 4, 80],
      format: function (val) {
        return val.toFixed(2) + '万';
      },
    }],
    yAxis: {
        title: '成交金额 (万元)',
        format: function (val) {
            return val.toFixed(2);
        },
        min: 0,
        fontColor: '#8085e9',
        gridColor: '#8085e9',
        titleFontColor: '#f7a35c'
    },
    xAxis: {
        fontColor: '#7cb5ec',
        gridColor: '#7cb5ec'
    },
    extra: {
        legendTextColor: '#cb2431'
    },
    width: windowWidth,
    height: 200
});


6.radar

new wxCharts({
   canvasId: 'radarCanvas',
    type: 'radar',
    categories: ['1', '2', '3', '4', '5', '6'],
    series: [{
        name: '成交量1',
        data: [90, 110, 125, 95, 87, 122]
    }],
    width: windowWidth,
    height: 200,
    extra: {
        radar: {
            max: 150
        }
    }
});

本人是自己查阅资料自己整理,希望对自己和有问题的你们都有帮助
  • 9
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
### 回答1: wx-charts是一款基于小程序开发的图表插件,它提供了丰富的图表样式和丰富的交互功能。通过阅读官方文档,我们可以深入了解这个插件的使用方法和相关API。 文档的结构清晰,以快速入门、基本配置、图表类型、图表属性、事件和回调等部分来组织内容。在快速入门部分,它提供了安装和使用wx-charts的基本步骤,方便开发者快速上手。 在基本配置部分,文档介绍了如何对图表进行基本配置,如设置图表的大小、颜色、背景等属性。它还介绍了如何使用数据来渲染图表,并通过示例代码展示了不同类型的图表的使用方法。 在图表类型部分,文档列举了各种图表类型,如折线图、柱状图、饼图等,每种图表类型都有详细的说明和示例代码,帮助开发者了解每种图表的特点和用途。 在图表属性部分,文档介绍了图表的各种属性和方法,如是否显示图例、是否显示标签、是否显示数值等。它还提供了一些常用的属性配置示例,帮助开发者根据自己的需求进行图表样式的定制。 此外,文档还介绍了图表的事件和回调函数,包括图表的点击事件、触摸事件等,开发者可以根据这些事件来实现一些交互功能,如点击图表某个数据点显示详细信息等。 总的来说,wx-charts官方文档提供了详细的使用方法和API说明,帮助开发者快速了解和使用这个图表插件。它的示例代码丰富,结构清晰,适合开发者学习和参考。通过阅读官方文档,开发者可以轻松使用wx-charts插件开发出各种图表功能丰富的小程序。 ### 回答2: 小程序wx-charts官方文档是一个指南,用于帮助开发人员了解如何在微信小程序中使用wx-charts这个图表库。该文档提供了详细的使用说明和示例代码,帮助开发人员快速上手。 文档首先介绍了wx-charts的基本概念和特点,包括它提供的各种图表类型和功能。然后,文档详细说明了如何引入wx-charts库以及相关的依赖项。开发人员可以按照文档中提供的步骤,下载安装wx-charts,并在小程序中进行配置。 随后,文档逐一介绍了每种图表类型的使用方法,包括折线图、柱状图、饼图等。每个图表类型都有相应的代码示例和参数说明,开发人员可以根据自己的需求进行定制。文档还提供了一些常见问题和解决方案,以帮助开发人员在使用过程中遇到困难时进行排查和解决。 此外,官方文档还介绍了一些高级功能和扩展,例如如何处理图表的交互事件以及如何自定义样式和主题。这些功能可以帮助开发人员根据自己的需求和设计要求,进一步优化和定制图表。 总而言之,小程序wx-charts官方文档提供了全面而详细的说明,帮助开发人员轻松上手并灵活使用这个图表库。它是一个宝贵的参考资源,为开发人员提供了极大的便利和效率。 ### 回答3: wx-charts是一款基于微信小程序平台的图表插件,它提供了丰富多样的图表类型和可定制的选项,使得开发者可以方便地在小程序中创建各种图表展示。 wx-charts官方文档详细介绍了插件的安装和使用方法。文档中首先介绍了如何通过npm安装wx-charts,并在小程序的app.json文件中进行配置。接着,文档详细介绍了插件提供的各种图表类型,包括折线图、柱状图、饼图、雷达图等等,并提供了每种图表类型的使用示例和参数说明。 在文档的使用教程部分,官方提供了一步一步的操作指引,帮助开发者快速上手。例如,文档详细介绍了如何创建一个折线图,包括如何引入wx-charts插件、在页面wxml中添加图表Canvas容器、在页面js文件中初始化图表实例和设置图表的数据和样式等等。这些教程都以简洁明了的代码示例作为辅助,让开发者能够更好地理解和学习。 此外,官方文档还介绍了wx-charts插件的一些高级用法和特性,例如如何通过修源码来自定义图表的样式、如何在图表中添加动画效果等等。这些高级用法可以帮助开发者更加灵活和自由地使用插件,满足不同的需求。 总的来说,wx-charts官方文档提供了全面、详细的插件介绍和使用指南,对于想要在微信小程序中使用图表展示的开发者来说,是一个非常有价值的参考资料。无论是初学者还是有一定经验的开发者,都可以通过阅读官方文档来学习和掌握wx-charts插件的使用方法和技巧。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值