wx-charts 微信小程序圖表插件的具體使用
微信小程序圖表插件(wx-charts)基于canvas繪制,體積小巧,支持圖表類型餅圖、線圖、柱狀圖 、區(qū)域圖等圖表圖形繪制,目前wx-charts是微信小程序圖表插件中比較強(qiáng)大好使的一個(gè)
支持圖標(biāo)類型
- 餅圖 pie
- 圓環(huán)圖 ring
- 線圖 line
- 柱狀圖 column
- 區(qū)域圖 area
- 雷達(dá)圖 radar
如何使用?
直接引用編譯好的文件 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ù)說明
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)題字體大?。蛇x,單位為px) opts.subtitle.color String 副標(biāo)題顏色(可選) opts.animation Boolean default true 是否動畫展示 opts.legend Boolen default true 是否顯示圖表下方各類別的標(biāo)識 opts.type String required 圖表類型,可選值為pie, line, column, area…… opts.categories Array required (餅圖、圓環(huán)圖不需要) 數(shù)據(jù)類別分類 opts.dataLabel Boolean default true 是否在圖表中顯示數(shù)據(jù)內(nèi)容值 opts.dataPointShape Boolean default true 是否在圖表中顯示數(shù)據(jù)點(diǎn)圖形標(biāo)識 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ù)名稱 dateItem.format Function 自定義顯示數(shù)據(jù)內(nèi)容
詳見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 } } });
本人是自己查閱資料自己整理,希望對自己和有問題的你們都有幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js控制按鈕,防止頻繁點(diǎn)擊響應(yīng)的實(shí)例
下面小編就為大家?guī)硪黄猨s控制按鈕,防止頻繁點(diǎn)擊響應(yīng)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02低門檻開發(fā)iOS、Android、小程序應(yīng)用的前端框架詳解
結(jié)合AVM官網(wǎng)的介紹和我自己的一些實(shí)踐經(jīng)驗(yàn),我總結(jié)了一系列AVM的特性,我想這些內(nèi)容足以讓你主動去學(xué)習(xí)AVM框架了2021-10-10JS清空上傳控件input(type="file")的值的代碼
最近做的一個(gè)小功能,需要清空<input type="file">的值,但上傳控件<input type="file">的值不能通過JavaScript來修改。2008-11-11靈活使用數(shù)組制作圖片切換js實(shí)現(xiàn)
這篇文章主要介紹了靈活使用數(shù)組制作圖片切換效果,js實(shí)現(xiàn)圖片切換特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-0720行JS代碼實(shí)現(xiàn)網(wǎng)頁刮刮樂效果
下面小編就為大家?guī)硪黄?0行JS代碼實(shí)現(xiàn)網(wǎng)頁刮刮樂效果。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06JavaScript實(shí)現(xiàn)秒殺時(shí)鐘倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)秒殺時(shí)鐘倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09