雷达图-多个多边形

描述:当前是关于Echarts图表中的 雷达图 示例。
 
            var legendData = ['当前值', '环境最高', '环境最低']; //图例
var data = [
    [25.4, 88, 4.3, 87, 3], // 当前值
    [35, 95, 6, 90, 18], // 环境最高
    [23, 70, 2.8, 60, 0], // 环境最低
    [], // 最外范围
];
var offset = 0;

var indicator = [
    {
        text: '温度',
        min: 19,
        max: 39,
    },
    {
        text: '湿度',
        min: 76,
        max: 100,
    },
    {
        text: '光照',
        min: 0,
        max: 7.5,
    },
    {
        text: '土壤水分',
        min: 50,
        max: 100,
    },
    {
        text: '风速',
        min: 10,
        max: 20,
    },
];
indicator.forEach((item, index) => {
    const all = data[1][index] - data[2][index];
    const gridv = all / 3;
    // item.max = data[1][index] + gridv;
    item.max = data[1][index] + gridv;
    item.min = data[2][index] - gridv;
    data[3].push(data[1][index] + gridv);
});

option = {
    backgroundColor: '#091c3d',
    hoverAnimation: true,
    tooltip: {
        trigger: 'item',
    },
    radar: {
        // shape: 'circle',
        // radius: '60%',
        center: ['50%', '50%'],
        // nameGap: 65,
        name: {
            textStyle: {
                color: '#fff',
                fontSize: 14,
            },
        },
        indicator: indicator,
        axisLine: {
            // show:false,
            lineStyle: {
                color: '#153269',
            },
        },
        splitLine: {
            show: false,
            lineStyle: {
                color: '#113865', // 分隔线颜色
                width: 1, // 分隔线线宽
            },
        },
        // splitNumber: 5,
        splitArea: {
            show: false,
        },
        axisLabel: {
            show: true,
            color: '#FFFFFF',
            formatter: function (value, index) {
                offset++;
                if (offset < 2) {
                    return ['{yxStyle|偏高}', '{pjStyle|环境适宜}', '{jcStyle|偏低}'].join('\n');
                }
            },
            rich: {
                yxStyle: {
                    color: 'rgba(245, 166, 35, 0.8)',
                    fontSize: 16,
                    width: 250,
                    height: 30,
                    align: 'right',
                    // padding: [-25, 140],
                    padding: [0, 100, -350, 0],
                },
                pjStyle: {
                    color: 'rgb(87, 217, 254)',
                    fontSize: 16,
                    width: 250,
                    height: 30,
                    align: 'right',
                    padding: [0, 30, -200, 0],
                    // padding: [5, 70],
                },
                jcStyle: {
                    color: 'rgba(245, 166, 35, 1)',
                    fontSize: 16,
                    width: 250,
                    height: 30,
                    align: 'right',
                    padding: [0, -20, -20, 0],
                },
            },
        },
    },
    series: [
        {
            type: 'radar',
            name: '最外范围',
            z: 3,
            tooltip: {
                show: false,
                // trigger: 'item',
            },
            data: [{ value: data[3] }],
            symbolSize: 0,
            areaStyle: {
                normal: {
                    opacity: 0.4,
                    color: 'rgba(245, 166, 35, 0.6)',
                },
            },
            lineStyle: {
                normal: {
                    color: 'rgba(19, 173, 255, 1)',
                    width: 1,
                },
            },
        },
        {
            type: 'radar',
            name: '当前值',
            z: 6,
            data: [{ value: data[0] }],
            symbol: 'circle',
            symbolSize: 10,
            itemStyle: {
                normal: {
                    color: 'rgba(19, 173, 255, 1)',
                    borderColor: 'rgba(19, 173, 255, 0.4)',
                    borderWidth: 10,
                },
            },
            // areaStyle: {
            //     normal: {
            //         color: 'rgba(19, 173, 255, 0.5)',
            //     },
            // },
            lineStyle: {
                normal: {
                    color: 'rgba(19, 173, 255, 1)',
                    width: 2,
                    type: 'dashed',
                },
            },
            emphasis: {
                areaStyle: {
                    opacity: 0.5,
                },
            },
        },
        {
            type: 'radar',
            name: '环境最高值',
            z: 4,
            data: [{ value: data[1] }],
            symbol: 'circle',
            symbolSize: 0,
            areaStyle: {
                normal: {
                    // opacity: 0.4,
                    color: 'rgba(62, 220, 132, 0.3)',
                },
            },
            lineStyle: {
                normal: {
                    type: 'dashed',
                    color: 'rgba(245, 166, 35, 1)',
                    width: 1,
                },
            },
        },
        {
            type: 'radar',
            name: '环境最低值',
            z: 7,
            data: [{ value: data[2] }],
            symbolSize: null,
            areaStyle: {
                normal: {
                    // opacity: 0.4,
                    color: 'rgba(245, 166, 35, 0.2)',
                },
            },
            itemStyle: {
                color: 'rgba(245, 166, 35, .6)',
                borderColor: 'rgba(245, 166, 35, 0.3)',
                borderWidth: 10,
            },
            lineStyle: {
                normal: {
                    type: 'dashed',
                    color: 'rgba(245, 166, 35, .6)',
                    width: 1,
                },
            },
            emphasis: {
                label: {
                    show: true,
                    color: '#6B99B7',
                    position: 'top',
                },
            },
        },
    ],
};