小程序wxChart说明文档整理

wxChart地址https://github.com/xiaolin3303/wx-charts/issues/56
带图文链接https://www.kancloud.cn/xchhhh/wx-chart/399336

经测试wxchart没有条形图建议使用uCharts

var wxCharts = require('../../utils/wxcharts');
var app = getApp();
var lineChart = null;
Page({
    
    
createSimulationData: function () {
    
    
        var categories = [];
        var data = [];
        for (var i = 0; i < 30; i++) {
    
    
            categories.push((i + 1));
            data.push(Math.random()*(20-10)+10);
        }
        return {
    
    
            categories: categories,
            data: data
        }
    },
onLoad: function (e) {
    
    
        var windowWidth = 320;
        try {
    
    
            var res = wx.getSystemInfoSync();
            windowWidth = res.windowWidth;
        } catch (e) {
    
    
            console.error('getSystemInfoSync failed!');
        }
        
        var simulationData = this.createSimulationData();
        lineChart = new wxCharts({
    
    
           canvasId: 'lineCanvas',
            type: 'line',
            categories: simulationData.categories,
            animation: false,
            series: [{
    
    
                name: '成交量1',
                data: simulationData.data,
                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: 300,
            dataLabel: true,
            dataPointShape: true,
            enableScroll: true,
            extra: {
    
    
                lineStyle: 'curve'
            }
     	})

参数说明

opts Object

opts.canvasId String required 微信小程序canvas-id

opts.width Number required canvas宽度,单位为px

opts.height Number required canvas高度,单位为px

opts.background String canvas背景颜色(如果页面背景颜色不是白色请设置为页面的背景颜色,默认#ffffff)

opts.enableScroll Boolean 是否开启图表可拖拽滚动 默认false 支持line, area图表类型(需配合绑定scrollStart, scroll, scrollEnd方法)

opts.title Object (only for ring chart)

opts.title.name String 标题内容

opts.title.fontSize Number 标题字体大小(可选,单位为px)

opts.title.color String 标题颜色(可选)

opts.title.offsetX Number 标题横向位置偏移量,单位px,默认0

opts.subtitle Object (only for ring chart)

opts.subtitle.name String 副标题内容

opts.subtitle.offsetX Number 副标题横向位置偏移量,单位px,默认0

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

opts.categories Array required (饼图、圆环图不需要) 数据类别分类

opts.dataLabel Boolean default true 是否在图表中显示数据内容值

opts.dataPointShape Boolean default true 是否在图表中显示数据点图形标识

opts.disablePieStroke Boolean default false 不绘制饼图(圆环图)各区块的白色分割线

opts.xAxis Object X轴配置

opts.xAxis.gridColor String 例如#7cb5ec default #cccccc X轴网格颜色

opts.xAxis.fontColor String 例如#7cb5ec default #666666 X轴数据点颜色

opts.xAxis.disableGrid Boolean default false 不绘制X轴网格

opts.xAxis.type String 可选值calibration(刻度) 默认为包含样式

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.gridColor String 例如#7cb5ec default #cccccc Y轴网格颜色

opts.yAxis.fontColor String 例如#7cb5ec default #666666 Y轴数据点颜色

opts.yAxis.titleFontColor String 例如#7cb5ec default #333333 Y轴title颜色

opts.yAxis.disabled Boolean default false 不绘制Y轴

opts.extra Object 其他非通用配置项

opts.extra.ringWidth Number ringChart圆环宽度,单位为px

opts.extra.lineStyle String (仅对line, area图表有效) 可选值:curve曲线,straight直线 (default)

opts.extra.column Object 柱状图相关配置

opts.extra.column.width Number 柱状图每项的图形宽度,单位为px

opts.extra.legendTextColor String 例如#7cb5ec default #cccccc legend文案颜色

opts.extra.radar Object 雷达图相关配置

opts.extra.radar.max Number, 默认为series data的最大值,数据区间最大值,用于调整数据显示的比例

opts.extra.radar.labelColor String, 默认为#666666, 各项标识文案的颜色

opts.extra.radar.gridColor String, 默认为#cccccc, 雷达图网格颜色

opts.extra.pie Object 饼图、圆环图相关配置

opts.extra.pie.offsetAngle Number, 默认为0, 起始角度偏移度数,顺时针方向,起点为3点钟位置(比如要设置起点为12点钟位置,即逆时针偏移90度,传入-90即可)

opts.series Array required 数据列表

数据列表每项结构定义

dataItem Object

dataItem.data Array required (饼图、圆环图为Number) 数据,如果传入null图表该处出现断点

dataItem.color String 例如#7cb5ec 不传入则使用系统默认配色方案

dataItem.name String 数据名称

dateItem.format Function 自定义显示数据内容

updateData(data) 更新图表数据,data: object,data.categories(可选,具体见参数说明),data.series(可选,具体见参数说明),data.title(可选,具体见参数说明),data.subtitle(可选,具体见参数说明)

stopAnimation() 停止当前正在进行的动画效果,直接展示渲染的最终结果

addEventListener(type, listener) 添加事件监听,type: String事件类型,listener: function 处理方法

getCurrentDataIndex(e) 获取图表中点击时的数据序列编号(-1表示未找到对应的数据区域), e: Object微信小程序标准事件,需要手动的去绑定touch事件,具体可参考wx-charts-demo中column图示例

showToolTip(e, options?) 图表中展示数据详细内容(目前仅支持line和area图表类型),e: Object微信小程序标准事件,options: Object可选,tooltip的自定义配置,支持option.background,默认为#000000; option.format, function类型,接受两个传入的参数,seriesItem(Object, 包括seriesItem.name以及seriesItem.data)和category,可自定义tooltip显示内容。具体可参考wx-charts-demo中line图示例

scrollStart(e), scroll(e), scrollEnd(e)设置支持图表拖拽系列事件(支持line, area, column),具体参考wx-charts-demo中ScrollLine图示例

事件
renderComplete 图表渲染完成(如果有动画效果,则动画效果完成时触发)
如何使用事件
let chart = new wxCharts(…);
chart.addEventListener(‘renderComplete’, () => {
// your code here
});

Page({
    
    
    data: {
    
    
    },
    touchHandler: function (e) {
    
    
        lineChart.scrollStart(e);
    },
    moveHandler: function (e) {
    
    
        lineChart.scroll(e);
    },
    touchEndHandler: function (e) {
    
    
        lineChart.scrollEnd(e);
        lineChart.showToolTip(e, {
    
    
            format: function (item, category) {
    
    
                return category + ' ' + item.name + ':' + item.data 
            }
        });        
    },

猜你喜欢

转载自blog.csdn.net/weixin_38566069/article/details/125330274
今日推荐