在小程序中使用Echart圖表
柱狀圖UI示例
// Echart config,包括init data 和style及數(shù)據(jù)類型 var option = { animation: false,//提高頁面加載速度,關(guān)閉echart的動(dòng)畫 grid: [ //grid section UI ... ], xAxis: [ //xAxis section UI ... ], yAxis: [ //yAxis section UI ... ], series: [ { //左側(cè)坐標(biāo)軸UI ... data: [100, 100, 100, 100, 100], }, { //左側(cè)柱狀圖 UI 及數(shù)據(jù) ... data: [66, 54, 87, 78, 87], }, { //右側(cè)坐標(biāo)軸UI ... data: [100, 100, 100, 100, 100], }, { //右側(cè)柱狀圖 UI 及數(shù)據(jù) ... data: [84, 87, 86, 76, 76], }, ] } // 初始化Echart圖表UI function initChart(canvas, width, height) { const chart = echarts.init(canvas, null, { width: width, height: height }) canvas.setChart(chart) chart.setOption(option) return chart }
以上就是利用echart圖表插件在小程序中生成一個(gè)我們需要的柱狀圖用以展示我們需要表達(dá)給用戶的數(shù)據(jù)表。
當(dāng)然,在實(shí)際的開發(fā)中,所有的數(shù)據(jù)都是通過獲取數(shù)據(jù)庫中的數(shù)據(jù),然后根據(jù)數(shù)據(jù)生成,而不是寫死在series[]中,那么如何將ajax或者其他方式獲取到的數(shù)據(jù)傳入我們的UI中呢?
Echart的文檔告訴我們:
數(shù)據(jù)的動(dòng)態(tài)更新
ECharts 由數(shù)據(jù)驅(qū)動(dòng),數(shù)據(jù)的改變驅(qū)動(dòng)圖表展現(xiàn)的改變,因此動(dòng)態(tài)數(shù)據(jù)的實(shí)現(xiàn)也變得異常簡(jiǎn)單。
所有數(shù)據(jù)的更新都通過 setOption實(shí)現(xiàn),你只需要定時(shí)獲取數(shù)據(jù),setOption 填入數(shù)據(jù),而不用考慮數(shù)據(jù)到底產(chǎn)生了那些變化,ECharts 會(huì)找到兩組數(shù)據(jù)之間的差異然后通過合適的動(dòng)畫去表現(xiàn)數(shù)據(jù)的變化。
也就是上面示例代碼中的這個(gè)方法
chart.setOption(option)
ok直接看代碼:
var hostTeamInfo = []//獲取的數(shù)據(jù)option.series[1].data = hostTeamInfo//根據(jù)前文,設(shè)置左側(cè)的數(shù)據(jù)
根據(jù)小程序的指導(dǎo)文檔,這部分代碼需要在page()生命周期中完成,至于是在onLoad還是onReady中,需要各位根據(jù)實(shí)際情況來決定
效果圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選