我得到每隔五分钟的原始数据!五分钟为坐标轴
现在,我把数据两两合并,生成十分钟的坐标轴
我当时想法是对数据最后一个再相加一次,如果11:05有值得话直接合道11:10中
现在我想10分钟的坐标轴,如果11:05有值,坐标轴加上11:05,显示在11:00-11:10之间,其他坐标还是10分钟,如何实现
15分钟呢
下面是我的代码
总时间
`xAxisTotalTime(){
let m = 5;
let n = -5;
this.xAixsTimeData = []
this.xAixsTotalData =[]
for(let i=0;i<229;i++){
n+=5;
if(n>55){
n = 0;
m+=1
}
this.xAixsTimeData.push(m+":"+(n>9?n:"0"+n))
this.xAixsTotalData.push(m+":"+(n>9?n:"0"+n))
}
this.setStartData()
},`
`tenMinuteSel(){
//定义x轴数组
this.xAixsTimeData = this.xAixsTotalData.filter((value,index)=>{
if(index%2===0){
return true
}
})
//总乘客
let resTotal = []
this.yAxisTotalPassenger.filter((item,index,arr)=>{
if(index%2 ===0){
let sumTotal = (arr[index+1]||0)+(arr[index+2]||0);
resTotal.push(sumTotal)
}
})
resTotal.unshift(this.yAxisTotalPassenger[0])
this.resTotalPassenger =[]
this.resTotalPassenger = [].concat(resTotal)
//出站乘客
let resOut = []
this.yAxisOutPassenger.filter((item,index,arr)=>{
if(index%2 ===0){
let sumOut = (arr[index+1]|| 0)+(arr[index+2]||0);
resOut.push(sumOut)
}
})
resOut.unshift(this.yAxisOutPassenger[0])
this.resOutPassenger =[]
this.resOutPassenger = [].concat(resOut)
//定义 进入的乘客相加
let resIn = []
this.yAxisInPassenger.filter((item,index,arr)=>{
if(index%2 ===0){
let sum = (arr[index+1]|| 0)+(arr[index+2]||0);
resIn.push(sum)
}
})
resIn.unshift(this.yAxisInPassenger[0])
this.resInPassenger =[]
this.resInPassenger = [].concat(resIn)
this.drawPassengerChart()
},`
` quarterSel(){
this.xAixsTimeData = this.xAixsTotalData.filter((value,index)=>{
if(index%3===0){
return true
}
})
//总乘客
let resTotal = []
this.yAxisTotalPassenger.filter((item,index,arr)=>{
if(index%3 ===0){
let sumTotal = (arr[index+1]||0)+(arr[index+2]||0)+(arr[index+3]||0);
resTotal.push(sumTotal)
}
})
resTotal.unshift(this.yAxisTotalPassenger[0])
this.resTotalPassenger =[]
this.resTotalPassenger = [].concat(resTotal)
//出站乘客
let resOut = []
this.yAxisOutPassenger.filter((item,index,arr)=>{
if(index%3 ===0){
let sumOut = (arr[index+1]||0)+(arr[index+2]||0)+(arr[index+3]||0);
resOut.push(sumOut)
}
})
resOut.unshift(this.yAxisOutPassenger[0])
this.resOutPassenger =[]
this.resOutPassenger = [].concat(resOut)
//定义 进入的乘客相加
let resIn = []
this.yAxisInPassenger.filter((item,index,arr)=>{
if(index%3 ===0){
let sum =(arr[index+1]||0)+(arr[index+2]||0)+(arr[index+3]||0);
resIn.push(sum)
}
})
resIn.unshift(this.yAxisInPassenger[0])
this.resInPassenger =[]
this.resInPassenger = [].concat(resIn)
this.drawPassengerChart()
写的有点长了,有什么办法简化吗
不知道你的数据结构是什么样子的,我自己模拟了一个数据结构,你大概可以借鉴一下。思路就是,把分钟数提出来,然后除以15分开,这样就每隔15分钟就区分出来了,然后数据累加就行