配置项如下
let chartData = [
{
AQI: [87, 115, 56, 54, 87, 15, 45, 36, 45, 84, 51, 54],
},
{
SO2: [54, 76, 23, 43, 65, 87, 67, 45, 45, 84, 45, 34],
},
{
NO2: [87, 53, 56, 54, 113, 15, 87, 23, 45, 84, 34, 54],
},
{
CO: [87, 133, 56, 54, 87, 34, 45, 36, 45, 84, 51, 54],
},
{
O3: [87, 87, 56, 65, 34, 45, 65, 36, 45, 84, 51, 54],
},
{
PM10: [87, 78, 56, 54, 87, 34, 45, 36, 97, 84, 67, 54],
},
{
O2: [87, 98, 56, 54, 87, 43, 45, 36, 45, 84, 88, 45],
},
];
let colorArr = [
'rgb(0,228,0)',
'#ead656',
'#fe7c4b',
'#23b899',
'#9c6cff',
'#008ca1',
'#dca111',
'#00d2ec',
'#004aa0',
'#5e42d2',
'#387dff',
'#ead656',
];
let yarrlength = 0; // 展现多少条数据(临时写死)
let series = [];
let xarr = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
let yarrx = ['AQI', 'SO2', 'NO2', 'CO', 'O3', 'PM10', 'O2'];
yarrlength = chartData.length;
let stationArr = [];
for (var i = 0; i < yarrlength; i++) {
stationArr.push({ avgval: [] });
}
for (var j = 0; j < yarrlength; j++) {
for (let key in chartData[j]) {
stationArr[j].avgval = chartData[j][key];
}
}
for (var k = 0; k < yarrlength; k++) {
series.push({
name: yarrx[k],
type: 'line',
symbolSize: 8,
data: stationArr[k].avgval,
smooth: true,
areaStyle: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1, // 变化度
// 三种由深及浅的颜色
[
{
offset: 0,
color: colorArr[k],
},
{
offset: 0.8,
color: 'rgba(255,255,255,0.1)',
},
{
offset: 1,
color: 'rgba(0,0,0,0.1)',
},
]
),
type: 'linear',
global: false,
},
});
}
let selectedObj = {};
series.forEach((item, index) => {
if (index === 0) {
selectedObj[item.name] = true;
} else {
selectedObj[item.name] = false;
}
});
// let min = undefined,
// max = undefined,
// splitNumber = undefined;
option = {
backgroundColor:"#313131",
title: {},
legend: {
type: 'scroll',
right: '60',
selectedMode: 'single',
bottom: '3%',
left: 'center',
inactiveColor: '#666',
textStyle: {
color: '#aaa',
},
selected: selectedObj,
},
tooltip: {
trigger: 'axis',
show: true,
// seriesIndex: 0
},
visualMap: [
{
top: 10,
right: 10,
pieces: [
{
gt: 0,
lte: 50,
color: 'rgb(0,228,0)',
},
{
gt: 50,
lte: 100,
color: 'rgb(25,255,0)',
},
{
gt: 100,
lte: 150,
color: 'rgb(255,126,0)',
},
{
gt: 150,
lte: 200,
color: 'rgb(255,0,0)',
},
{
gt: 200,
lte: 300,
color: 'rgb(153,0,76)',
},
{
gt: 300,
color: 'rgb(126,0,35)',
},
],
outOfRange: {
color: '#999',
},
show: false,
seriesIndex: 0,
},
],
grid: {
left: 40,
right: 40,
bottom: '15%',
containLabel: true,
},
xAxis: {
type: 'category',
data: xarr,
axisTick: {
show: false,
},
axisLine: {
color: 'rgba(255,255,255,0.6)',
},
axisLabel: {
margin: 30,
color: 'rgba(255,255,255,0.6)',
},
splitLine: {
show: true,
lineStyle: {
type: 'solid',
color: 'rgba(255,255,255,0.1)',
},
},
},
yAxis: {
type: 'value',
axisTick: {
show: false,
},
axisLine: {
color: 'rgba(255,255,255,0.6)',
},
axisLabel: {
margin: 30,
color: 'rgba(255,255,255,0.6)',
},
// min: min,
// max: max,
// splitNumber: splitNumber,
splitLine: {
lineStyle: {
type: 'dashed',
color: 'rgba(255,255,255,0.1)',
},
},
},
color: colorArr,
};
option.series = series;