在實(shí)際開發(fā)中,我們經(jīng)常使用ECharts來(lái)進(jìn)行數(shù)據(jù)可視化展示。但有時(shí)我們需要修改JSON數(shù)據(jù)格式以符合ECharts組件的要求。
首先,讓我們來(lái)看一下一般的ECharts數(shù)據(jù)格式:
var data = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [820, 932, 901, 934, 1290, 1330, 1320], type: 'line' }] };
如果我們已有一份數(shù)據(jù),并且想要把它轉(zhuǎn)換成ECharts數(shù)據(jù)格式,我們可以按以下步驟進(jìn)行操作:
1. 確定數(shù)據(jù)中每個(gè)元素對(duì)應(yīng)ECharts的哪個(gè)組件。
2. 根據(jù)ECharts的要求,修改數(shù)據(jù)格式。
以下是一個(gè)實(shí)際案例:
var data = [ {day: 'Mon', sales: 820, consumption: 120}, {day: 'Tue', sales: 932, consumption: 130}, {day: 'Wed', sales: 901, consumption: 140}, {day: 'Thu', sales: 934, consumption: 150}, {day: 'Fri', sales: 1290, consumption: 160}, {day: 'Sat', sales: 1330, consumption: 170}, {day: 'Sun', sales: 1320, consumption: 180} ];
我們需要將此數(shù)據(jù)轉(zhuǎn)換成ECharts能夠識(shí)別的格式,其中"xAxis.data"對(duì)應(yīng)每個(gè)柱狀圖/折線圖/餅圖等的橫坐標(biāo),"series"對(duì)應(yīng)每個(gè)圖形的數(shù)據(jù)。
var chartData = { xAxis: { type: 'category', data: [] }, series: [ { type: 'line', data: [] }, { type: 'line', data: [] } ] }; data.forEach(function(item) { chartData.xAxis.data.push(item.day); chartData.series[0].data.push(item.sales); chartData.series[1].data.push(item.consumption); });
最終的chartData數(shù)據(jù)對(duì)象格式為:
{ xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, series: [ { type: 'line', data: [820, 932, 901, 934, 1290, 1330, 1320] }, { type: 'line', data: [120, 130, 140, 150, 160, 170, 180] } ] };
通過(guò)以上操作,我們可以把現(xiàn)有的JSON數(shù)據(jù)格式轉(zhuǎn)換成符合ECharts要求的數(shù)據(jù)格式,讓數(shù)據(jù)得以正確地展示在圖表上。