历史数据整理:
多组数据:时间数组和想对应的数据数组,有不同的数据长度。
同样的时间范围:A返回5组数据。B返回8组数据,为了能正常显示echart图表,需要统一时间数据数量,补全A组的时间数据。
相关代码:
var date=[]; var xAxisDataParam={}; //以时间为key,合并时间点 var seriesData=[]; var legendData=[]; var timeData=[]; if(list.length>0){ for(let i=0;i<list.length;i++){ var data=list[i]; if(data.time!==undefined){ for(let j=0;j<data.time.length;j++){ if(xAxisDataParam[data.time[j]]!==true){ xAxisDataParam[data.time[j]]=true; } } } } } for(let k in xAxisDataParam){ date.push(k) } date.sort(); if(list.length>0){ for(let i=0;i<list.length;i++){ var data=list[i]; let repeat = 0; var lineValue=new Array(date.length).fill('-'); var n=0; for(let j=0;j<date.length;j++){ if(data.time!==undefined){ if(data.time[n]&&date[j]===data.time[n]){ if(data.time[n+1]&&date[j]===data.time[n+1]){ n++; }else { lineValue[j] = data.values[n].toFixed(3); } n++; } } } seriesData.push( { name:nameInfo, type:'line', smooth: true, data:lineValue, } ) legendData.push(nameInfo) } timeData = date; this.getEchartsInfo(seriesData,timeData,legendData) }else{ }