const data = [{ name: 'cpu使用率', lineData: [{ name: 'line1', value: [{ time: "23:00", value: 10 }, { time: "22:00", value: 22 }, { time: "21:00", value: 23 }, { time: "20:00", value: 24 }, { time: "19:00", value: 29 }, { time: "18:00", value: 14 }, { time: "17:00", value: 20 }, { time: "16:00", value: 22 }, { time: "15:00", value: 26 }, { time: "14:00", value: 30 }, { time: "13:00", value: 15 }, { time: "12:00", value: 40 }, { time: "11:00", value: 10 }, { time: "10:00", value: 22 }, { time: "09:00", value: 23 }, { time: "08:00", value: 24 }, { time: "07:00", value: 29 }, { time: "06:00", value: 50 }, { time: "05:00", value: 12 }, { time: "04:00", value: 22 }, { time: "03:00", value: 26 }, { time: "02:00", value: 3 }, { time: "01:00", value: 15 }, { time: "00:00", value: 20 }] }, { name: 'line2', value: [{ time: "23:00", value: 20 }, { time: "22:00", value: 2 }, { time: "21:00", value: 14 }, { time: "20:00", value: 5 }, { time: "19:00", value: 32 }, { time: "18:00", value: 64 }, { time: "17:00", value: 20 }, { time: "16:00", value: 21 }, { time: "15:00", value: 60 }, { time: "14:00", value: 30 }, { time: "13:00", value: 15 }, { time: "12:00", value: 3 }, { time: "11:00", value: 10 }, { time: "10:00", value: 22 }, { time: "09:00", value: 23 }, { time: "08:00", value: 24 }, { time: "07:00", value: 29 }, { time: "06:00", value: 10 }, { time: "05:00", value: 20 }, { time: "04:00", value: 22 }, { time: "03:00", value: 26 }, { time: "02:00", value: 34 }, { time: "01:00", value: 15 }, { time: "00:00", value: 2 }] }], }, { name: '内存使用率', lineData: [{ name: 'line', value: [{ time: "23:00", value: 20 }, { time: "22:00", value: 15 }, { time: "21:00", value: 23 }, { time: "20:00", value: 24 }, { time: "19:00", value: 29 }, { time: "18:00", value: 20 }, { time: "17:00", value: 10 }, { time: "16:00", value: 24 }, { time: "15:00", value: 23 }, { time: "14:00", value: 24 }, { time: "13:00", value: 29 }, { time: "12:00", value: 14 }, { time: "11:00", value: 10 }, { time: "10:00", value: 22 }, { time: "09:00", value: 23 }, { time: "08:00", value: 24 }, { time: "07:00", value: 29 }, { time: "06:00", value: 14 }, { time: "05:00", value: 20 }, { time: "04:00", value: 22 }, { time: "03:00", value: 26 }, { time: "02:00", value: 30 }, { time: "01:00", value: 15 }, { time: "00:00", value: 3 }] }, { name: 'line1', value: [{ time: "23:00", value: 5 }, { time: "22:00", value: 5 }, { time: "21:00", value: 5 }, { time: "20:00", value: 5 }, { time: "19:00", value: 5 }, { time: "18:00", value: 6 }, { time: "17:00", value: 6 }, { time: "16:00", value: 10 }, { time: "15:00", value: 12 }, { time: "14:00", value: 6 }, { time: "13:00", value: 8 }, { time: "12:00", value: 10 }, { time: "11:00", value: 12 }, { time: "10:00", value: 2 }, { time: "09:00", value: 4 }, { time: "08:00", value: 7 }, { time: "07:00", value: 9 }, { time: "06:00", value: 2 }, { time: "05:00", value: 10 }, { time: "04:00", value: 3 }, { time: "03:00", value: 5 }, { time: "02:00", value: 15 }, { time: "01:00", value: 15 }, { time: "00:00", value: 4 }] }], }, { name: 'Load', lineData: [{ name: 'line1', value: [{ time: "23:00", value: 20 }, { time: "22:00", value: 25 }, { time: "21:00", value: 10 }, { time: "20:00", value: 16 }, { time: "19:00", value: 29 }, { time: "18:00", value: 20 }, { time: "17:00", value: 10 }, { time: "16:00", value: 22 }, { time: "15:00", value: 23 }, { time: "14:00", value: 24 }, { time: "13:00", value: 29 }, { time: "12:00", value: 14 }, { time: "11:00", value: 10 }, { time: "10:00", value: 22 }, { time: "09:00", value: 23 }, { time: "08:00", value: 24 }, { time: "07:00", value: 29 }, { time: "06:00", value: 14 }, { time: "05:00", value: 20 }, { time: "04:00", value: 22 }, { time: "03:00", value: 26 }, { time: "02:00", value: 30 }, { time: "01:00", value: 15 }, { time: "00:00", value: 3 }] }], }, { name: 'TCP状态', lineData: [{ name: 'line1', value: [{ time: "23:00", value: 20 }, { time: "22:00", value: 25 }, { time: "21:00", value: 10 }, { time: "20:00", value: 16 }, { time: "19:00", value: 29 }, { time: "18:00", value: 20 }, { time: "17:00", value: 12 }, { time: "16:00", value: 3 }, { time: "15:00", value: 10 }, { time: "14:00", value: 23 }, { time: "13:00", value: 30 }, { time: "12:00", value: 35 }, { time: "11:00", value: 10 }, { time: "10:00", value: 22 }, { time: "09:00", value: 23 }, { time: "08:00", value: 24 }, { time: "07:00", value: 29 }, { time: "06:00", value: 14 }, { time: "05:00", value: 20 }, { time: "04:00", value: 22 }, { time: "03:00", value: 26 }, { time: "02:00", value: 30 }, { time: "01:00", value: 15 }, { time: "00:00", value: 3 }] }], }]; const values = data.map(d => d.lineData); const titles = data.map(d => d.name); const timeData = values[0][0].value.map(v => v.time) let dataList = []; values.forEach((line, i) => { line.forEach((data, j) => { dataList.push({ type: 'line', name: data.name, symbolSize: 4, hoverAnimation: false, xAxisIndex: i, yAxisIndex: i, data: data.value.map(d => d.value), smooth: true }) }) }); option = { title: { text: 'Awesome Chart' }, xAxis: { data: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] }, yAxis: {}, series: [{ type: 'line', data: [220, 182, 191, 234, 290, 330, 310] }], toolbox: { orient: 'vertical', feature: { dataZoom: { yAxisIndex: 'none', }, dataView: { show: true, readOnly: false }, restore: { show: true }, saveAsImage: { show: true }, magicType: { show: true, type: ['line', 'bar'], }, }, top: 70, right: 20, }, tooltip: { trigger: 'axis', show: true }, dataZoom: [{ show: true, realtime: true, top: '20', left: '5%', right: '10%', xAxisIndex: Array.from(new Array(titles.length), (val, index) => index) }, { type: 'inside', realtime: true, xAxisIndex: Array.from(new Array(titles.length), (val, index) => index) }], grid: titles.map((data, index) => { const row = Math.floor(index / 3); const col = index % 3; return { show: true, top: (row + 1) * 120 + row * 200, left: `${(col + 1) * 5 + col * 25}%`, right: `${100 - ((col + 1) * 5 + col * 25) - 25}%`, height: '200', } }), xAxis: titles.map((title, i) => { return { gridIndex: i, type: 'category', boundaryGap: false, axisLine: { onZero: true }, data: timeData, } }), yAxis: titles.map((title, i) => { return { gridIndex: i, name: title, type: 'value' } }), series: dataList, /*axisPointer: { link: [{ xAxisIndex: 'all', }], label: { backgroundColor: '#777' } },*/ };