仿bitoffer

描述:当前是关于Echarts图表中的 折线图 示例。
 
            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
        }
    ]
};