配置项如下
var data = [
['01', 85.11],
['02', 36.61],
['03', 27.26],
['04', 6.72],
['05', 36.37],
['06', 80.13],
['07', 20.88],
['08', 97.15],
];
let type = [] //1蓝色拐点,0红色拐点
let symbolArr = [];
var dataa = [];
for (var i = 0; i < data.length; i++) {
dataa.push(data[i][1])
type.push(data[i][1])
}
console.log(type)
type.forEach(function(v, i) {
symbolArr[i] = {
value: dataa[i],
symbolSize: v == 97.15 ? 13 : 0,
itemStyle: {
normal: {
color: v == 97.15 ? '#E4007F' : '#1572E9',
shadowBlur: 50,
shadowColor: '#333'
}
}
};
});
console.log(symbolArr)
data.push(['', avg])
var sum = 0;
var data3 = [];
for (var i = 0; i < data.length - 1; i++) {
data3.push(data[i][1])
sum += data[i][1]
}
var avg = sum / data.length;
// console.log(avg)
var data1 = data
var data2 = [];
data2
for (var i = 0; i < data.length - 2; i++) {
data2.push('')
}
data2.push(data[data.length - 2][1])
data2.push(data1[data1.length - 2][1])
// console.log(data1)
console.log(data3)
//======= x轴===========
var data4 = [];
for (var i = 0; i < data.length; i++) {
data4.push(data[i][0])
}
option = {
tooltip: {
trigger: 'axis',
formatter: function(params) {
if (params.length === 1) {
if (params[0].seriesName === 'line1') {
return '明天<br/>' + params[0].data;
} else {
return params[0].axisValue + '日<br/>' + params[0].data;
}
} else {
return params[0].axisValue + '日<br/>' + params[0].data;
}
}
},
xAxis: [{
type: 'category',
name: '',
data: data4,
axisTick: {
show: false,
},
splitLine: {
show: false,
},
splitNumber: 20
}],
yAxis: [{
type: 'value',
axisTick: {
show: false,
},
splitLine: {
show: false,
}
},
{
type: 'value',
show: false,
axisTick: {
show: false,
},
splitLine: {
show: false,
}
}
],
grid: {
top: 90
},
series: [{
name: 'line',
type: 'line',
symbol: 'none',
lineStyle: {
color: '#ff7405'
},
data: data3,
xAxisIndex: 0,
markLine: {
symbol: ['none', 'none'],
label: {
show: false
},
data: [{
xAxis: 7
},
]
}
},
{
name: 'line1',
type: 'line',
// showAllSymbol: true,
// symbol:'',
// showSymbol: true,
symbolSize:1,
lineStyle: {
color: '#1260FF',
type: 'dashed'
},
data: data2,
label: {
show: true,
distance: 4,
position: ['10', '-10'],
formatter: function(params) {
console.log(params)
if(params.dataIndex==8){
var val1 = params.value || 0;
return '{color1|' + val1 + '}';
}
},
rich: {
color1: {
color: '#fff',
backgroundColor: 'black',
borderColor: '#FAAE29',
border: 1,
lineHeight: 24,
height: 24,
padding: [2, 6, 2, 6],
borderWidth: 1,
borderRadius: [3, 3, 3, 3],
}
}
},
xAxisIndex: 0,
markLine: {
lineStyle: {
type: 'solid',
color: 'red'
},
symbol: ['none', 'none'],
label: {
show: false
},
data: [
{
xAxis: 8
}
]
}
},
{
label: {
show: false,
},
type: 'effectScatter',
coordinateSystem: 'cartesian2d',
data: symbolArr,
yAxisIndex: 1,
symbolSize: 0,
showEffectOn: 'render',
rippleEffect: {
brushType: 'stroke'
},
hoverAnimation: true
}
]
};