微信小程序圖表插件wx-charts用法實(shí)例詳解
本文實(shí)例講述了微信小程序圖表插件wx-charts用法。分享給大家供大家參考,具體如下:
微信小程序圖表插件(wx-charts)基于canvas繪制,體積小巧,支持圖表類(lèi)型餅圖、線(xiàn)圖、柱狀圖 、區(qū)域圖等圖表圖形繪制,目前wx-charts是微信小程序圖表插件中比較強(qiáng)大好使的一個(gè)
支持圖標(biāo)類(lèi)型
- 餅圖 pie
- 圓環(huán)圖 ring
- 線(xiàn)圖 line
- 柱狀圖 column
- 區(qū)域圖 area
- 雷達(dá)圖 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
參數(shù)說(shuō)明
| 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 | 標(biāo)題內(nèi)容 |
| opts.title.fontSize | Number | 標(biāo)題字體大?。蛇x,單位為px) |
| opts.title.color | String | 標(biāo)題顏色(可選) |
| opts.subtitle | Object | (only for ring chart) |
| opts.subtitle.name | String | 副標(biāo)題內(nèi)容 |
| opts.subtitle.fontSize | Number | 副標(biāo)題字體大小(可選,單位為px) |
| opts.subtitle.color | String | 副標(biāo)題顏色(可選) |
| opts.animation | Boolean default true | 是否動(dòng)畫(huà)展示 |
| opts.legend | Boolen default true | 是否顯示圖表下方各類(lèi)別的標(biāo)識(shí) |
| opts.type | String required | 圖表類(lèi)型,可選值為pie, line, column, area…… |
| opts.categories | Array required | (餅圖、圓環(huán)圖不需要) 數(shù)據(jù)類(lèi)別分類(lèi) |
| opts.dataLabel | Boolean default true | 是否在圖表中顯示數(shù)據(jù)內(nèi)容值 |
| opts.dataPointShape | Boolean default true | 是否在圖表中顯示數(shù)據(jù)點(diǎn)圖形標(biāo)識(shí) |
| opts.xAxis | Object | X軸配置 |
| opts.xAxis.disableGrid | Boolean default false | 不繪制X軸網(wǎng)格 |
| 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 | 數(shù)據(jù)列表 |
數(shù)據(jù)列表每項(xiàng)結(jié)構(gòu)定義
| dataItem | Object |
| dataItem.data | Array required (餅圖、圓環(huán)圖為Number) 數(shù)據(jù) |
| dataItem.color | String 例如#7cb5ec 不傳入則使用系統(tǒng)默認(rèn)配色方案 |
| dataItem.name | String 數(shù)據(jù)名稱(chēng) |
| dateItem.format | Function 自定義顯示數(shù)據(jù)內(nèi)容 |
詳見(jiàn)demo(具體demo git地址)
1.pie
new wxCharts({
animation: true, //是否有動(dòng)畫(huà)
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) + '萬(wàn)';
}
}, {
name: '成交量2',
data: [2, 0, 0, 3, null, 4, 0, 0, 2, 0],
format: function (val, name) {
return val.toFixed(2) + '萬(wàn)';
}
}],
xAxis: {
disableGrid: true
},
yAxis: {
title: '成交金額 (萬(wàn)元)',
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) + '萬(wàn)';
}
}],
yAxis: {
format: function (val) {
return val + '萬(wàn)';
},
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) + '萬(wàn)';
}
}, {
name: '成交量2',
data: [15, 20, 45, 37, 4, 80],
format: function (val) {
return val.toFixed(2) + '萬(wàn)';
},
}],
yAxis: {
title: '成交金額 (萬(wàn)元)',
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
}
}
});

本人是自己查閱資料自己整理,希望對(duì)自己和有問(wèn)題的你們都有幫
相關(guān)文章
Javascript腳本實(shí)現(xiàn)靜態(tài)網(wǎng)頁(yè)加密實(shí)例代碼
這篇文章介紹了Javascript腳本實(shí)現(xiàn)靜態(tài)網(wǎng)頁(yè)加密實(shí)例代碼,有需要的朋友可以參考一下2013-11-11
JavaScript中數(shù)組遍歷的7種方法小結(jié)
作為JavaScript開(kāi)發(fā)人員,熟悉數(shù)組的遍歷和操作是非常重要的,數(shù)組遍歷是處理和操作數(shù)組元素的基本需求之一,本文將介紹JavaScript中的7種常見(jiàn)數(shù)組遍歷方法,幫助你成為數(shù)組操作的達(dá)人2023-11-11
layer ui插件顯示tips時(shí),修改字體顏色的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layer ui插件顯示tips時(shí),修改字體顏色的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧
JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation),其實(shí)JSON就是一個(gè)JavaScript的對(duì)象(Object)而已。接下來(lái)通過(guò)本文給大家介紹JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧,需要的朋友一起學(xué)習(xí)吧2016-04-04

