微信小程序图表插件(wx-charts)实例代码

发布时间 - 2026-01-10 22:34:10    点击率:

微信小程序图表工具,charts for WeChat small app

基于canvas绘制,体积小巧

支持图表类型

  • 饼图 pie
  • 圆环图 ring
  • 线图 line
  • 柱状图 column
  • 区域图 area
  • 代码分析 Here

参数说明

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, ring

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 自定义显示数据内容

Example

pie chart

var wxCharts = require('wxcharts.js');
new wxCharts({
 canvasId: 'pieCanvas',
 type: 'pie',
 series: [{
  name: 'cat1',
  data: 50,
 }, {
  name: 'cat2',
  data: 30,
 }, {
  name: 'cat3',
  data: 1,
 }, {
  name: 'cat4',
  data: 1,
 }, {
  name: 'cat5',
  data: 46,
 }],
 width: 360,
 height: 300,
 dataLabel: true
});

ring chart

new wxCharts({
 canvasId: 'ringCanvas',
 type: 'ring',
 series: [{
  name: '成交量1',
  data: 15,
 }, {
  name: '成交量2',
  data: 35,
 }, {
  name: '成交量3',
  data: 78,
 }, {
  name: '成交量4',
  data: 63,
 }],
 width: 320,
 height: 200,
 dataLabel: false
});

line chart

new wxCharts({
 canvasId: 'lineCanvas',
 type: 'line',
 categories: ['2012', '2013', '2014', '2015', '2016', '2017'],
 series: [{
  name: '成交量1',
  data: [0.15, 0.2, 0.45, 0.37, 0.4, 0.8],
  format: function (val) {
   return val.toFixed(2) + '万';
  }
 }, {
  name: '成交量2',
  data: [0.30, 0.37, 0.65, 0.78, 0.69, 0.94],
  format: function (val) {
   return val.toFixed(2) + '万';
  }
 }],
 yAxis: {
  title: '成交金额 (万元)',
  format: function (val) {
   return val.toFixed(2);
  },
  min: 0
 },
 width: 320,
 height: 200
});

columnChart

new wxCharts({
 canvasId: 'columnCanvas',
 type: 'column',
 categories: ['2012', '2013', '2014', '2015', '2016', '2017'],
 series: [{
  name: '成交量1',
  data: [15, 20, 45, 37, 4, 80]
 }, {
  name: '成交量2',
  data: [70, 40, 65, 100, 34, 18]
 }],
 yAxis: {
  format: function (val) {
   return val + '万';
  }
 },
 width: 320,
 height: 200
});

areaChart

new wxCharts({
 canvasId: 'areaCanvas',
 type: 'area',
 categories: ['2016-08', '2016-09', '2016-10', '2016-11', '2016-12', '2017'],
 series: [{
  name: '成交量1',
  data: [70, 40, 65, 100, 34, 18],
  format: function (val) {
   return val.toFixed(2) + '万';
  }
 }, {
  name: '成交量2',
  data: [15, 20, 45, 37, 4, 80],
  format: function (val) {
   return val.toFixed(2) + '万';
  }
 }],
 yAxis: {
  format: function (val) {
   return val + '万';
  }
 },
 width: 320,
 height: 200
});

demo下载地址:demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 微信小程序图表插件  # 微信小程序  # charts  # 小程序图表插件  # 微信小程序图表插件wx-charts用法实例详解  # wx-charts 微信小程序图表插件的具体使用  # 可选  # 自定义  # 万元  # 下载地址  # 不需要  # 图为  # 值为  # 大家多多  # 成交金额  # 每项  # 柱状图  # xAxis  # default  # disableGrid  # type  # Boolen  # dataPointShape  # Array  # legend  # true 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  zabbix利用python脚本发送报警邮件的方法  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  JS弹性运动实现方法分析  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Python文本处理实践_日志清洗解析【指导】  如何快速搭建支持数据库操作的智能建站平台?  微信小程序 scroll-view组件实现列表页实例代码  Laravel如何配置和使用缓存?(Redis代码示例)  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何快速搭建高效可靠的建站解决方案?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  bootstrap日历插件datetimepicker使用方法  简历在线制作网站免费版,如何创建个人简历?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  EditPlus中的正则表达式实战(6)  焦点电影公司作品,电影焦点结局是什么?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  简单实现jsp分页  ,交易猫的商品怎么发布到网站上去?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Python高阶函数应用_函数作为参数说明【指导】  Python文件异常处理策略_健壮性说明【指导】  如何快速搭建高效WAP手机网站?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  实例解析Array和String方法  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  JavaScript模板引擎Template.js使用详解  湖南网站制作公司,湖南上善若水科技有限公司做什么的?