多行数据展示 - 单独格式化

描述:当前是关于Echarts图表中的 折线图 示例。
 
            var datas = {
    	"video_ac": {
		"name": "这是标题",
		"datas": {
			"task": [
			  {
				"data": 0,
				"time": "2020-04"
			}, {
				"data": 0,
				"time": "2020-05"
			}, {
				"data": 0,
				"time": "2020-06"
			}, {
				"data": 124,
				"time": "2020-07"
			}, {
				"data": 367,
				"time": "2020-08"
			}, {
				"data": 265,
				"time": "2020-09"
			}, {
				"data": 220,
				"time": "2020-10"
			}, {
				"data": 153,
				"time": "2020-11"
			}, {
				"data": 19,
				"time": "2020-12"
			}, {
				"data": 0,
				"time": "2021-01"
			}, {
				"data": 0,
				"time": "2021-02"
			}, {
				"data": 0,
				"time": "2021-03"
			}],
			"power": [
			  {
				"data": 0,
				"time": "2020-04"
			}, {
				"data": 0,
				"time": "2020-05"
			}, {
				"data": 0,
				"time": "2020-06"
			}, {
				"data": 7,
				"time": "2020-07"
			}, {
				"data": 8,
				"time": "2020-08"
			}, {
				"data": 3,
				"time": "2020-09"
			}, {
				"data": 4,
				"time": "2020-10"
			}, {
				"data": 5,
				"time": "2020-11"
			}, {
				"data": 6,
				"time": "2020-12"
			}, {
				"data": 0,
				"time": "2021-01"
			}, {
				"data": 0,
				"time": "2021-02"
			}, {
				"data": 0,
				"time": "2021-03"
			}],
			"question": [
			  {
				"data": 0,
				"time": "2020-04"
			}, {
				"data": 0,
				"time": "2020-05"
			}, {
				"data": 0,
				"time": "2020-06"
			}, {
				"data": 55885,
				"time": "2020-07"
			}, {
				"data": 0,
				"time": "2020-08"
			}, {
				"data": 45652,
				"time": "2020-09"
			}, {
				"data": 19072,
				"time": "2020-10"
			}, {
				"data": 2055,
				"time": "2020-11"
			}, {
				"data": 0,
				"time": "2020-12"
			}, {
				"data": 0,
				"time": "2021-01"
			}, {
				"data": 0,
				"time": "2021-02"
			}, {
				"data": 0,
				"time": "2021-03"
			}],
			"history": [
			  {
				"data": 0,
				"time": "2020-04"
			}, {
				"data": 0,
				"time": "2020-05"
			}, {
				"data": 0,
				"time": "2020-06"
			}, {
				"data": 34042,
				"time": "2020-07"
			}, {
				"data": 50502,
				"time": "2020-08"
			}, {
				"data": 34820,
				"time": "2020-09"
			}, {
				"data": 35549,
				"time": "2020-10"
			}, {
				"data": 22608,
				"time": "2020-11"
			}, {
				"data": 2716,
				"time": "2020-12"
			}, {
				"data": 0,
				"time": "2021-01"
			}, {
				"data": 0,
				"time": "2021-02"
			}, {
				"data": 0,
				"time": "2021-03"
			}],
			"rate":[
			  {
				"data": 0,
				"time": "2020-04"
			}, {
				"data": 0,
				"time": "2020-05"
			}, {
				"data": 0,
				"time": "2020-06"
			}, {
				"data": 69,
				"time": "2020-07"
			}, {
				"data": 71,
				"time": "2020-08"
			}, {
				"data": 90,
				"time": "2020-09"
			}, {
				"data": 57,
				"time": "2020-10"
			}, {
				"data": 76,
				"time": "2020-11"
			}, {
				"data": 45,
				"time": "2020-12"
			}, {
				"data": 0,
				"time": "2021-01"
			}, {
				"data": 0,
				"time": "2021-02"
			}, {
				"data": 0,
				"time": "2021-03"
			}]
		}
	},
}
var key_dict={
    task:'task',
    power:'power',
    question:'question',
    batch:"batch",
    data:"data",
    history:'history',
    rate:'rate'
},month_data = ['2020-04', '2020-05', '2020-06', '2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12', '2021-01', '2021-02', '2021-03']

function getYdata(datas,key){
    var data = datas[key]
    var reData = [], yAxisIndex = key == 'rate' ? 1 : 0
    data.forEach(v=>{
        reData.push(v.data)
    })
    return {
        label:{
            normal:{
                show:true      ,
                formatter:key=='rate'?'{c}%':'{c}'
            },
        },
            name: key_dict[key],
            type: 'line',
             yAxisIndex:yAxisIndex,
            // stack: '总量',
            data: reData,
        }
}
var data = datas['video_ac']
var x_datas=[],y_datas = []
Object.keys(data.datas).forEach(v=>{
    x_datas.push(v)
    y_datas.push(getYdata(data.datas,v))
})
console.log(y_datas)
option = {
    title: {
        text: '年度报表 - '+data.name
    },
    tooltip: {
        trigger: 'axis',
        formatter:function(params,ticket,callbacl){
            var html =''
            params.forEach(v=>{
                html+= v.marker+v.seriesName+':<span style="float:right">'+v.value+(v.seriesName=='准确率'?'%':'')+'</span><br/>'
            })
            return html
        }
    },
    legend: {
        top:'20px'
        // data: 
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: month_data
    },
    yAxis:[ {
        type: 'value'
    },
        {
            "type": "value",
            "name": "准确率 (%)",
            "position": "right",
            axisLabel: {
                show:true,
                formatter: "{value} %",
                color: '#27719F'
            },
            "max": 100,
            "splitLine": {
                "show": false
            },
            "axisTick": {
                show: false
            },
            axisLine: {
                show: true,
                lineStyle: {
                    color: '#27719F',
                }
            },
        }],
    series:y_datas
};