四象图echarts scatter配置项内容和展示

配置项如下
      // 返回数据
let marksData = [
    {
        value: [0, 1000],
        name: '数据2',
        count: 2220,
    },
    {
        value: [45, 35],
        name: '数据3',
        count: 4220,
    },
    {
        value: [85, 15],
        name: '数据4',
        count: 5220,
    },
];

// 各象限区域
let markArea = [
                // 第一象限
                [{
                    name: '第一象限',
                    xAxis: 50, // x 轴开始位置
                    yAxis: 1000, // y 轴结束位置(直接取最大值)
                    label: {
                    position: ['80%', '-10%'],
                }
                }, {
                    yAxis: 500 // y轴开始位置
                }],
                // 第二象限
                [{
                    name: '第二象限',
                    yAxis: 1000, // y 轴结束位置(直接取最大值)
                    label: {
                    position: ['0%', '-10%'],
                }
                }, {
                    xAxis: 50, // x 轴结束位置
                    yAxis: 500 // y轴开始位置
                }],
                // 第三象限
                [{
                    name: '第三象限',
                    yAxis: 500, // y 轴结束位置
                    label: {
                    position: ['0%', '95%'],
                }
                }, {
                    xAxis: 50, // x 轴结束位置
                    yAxis: 0 // y轴开始位置
                }],
                // 第四象限
                [{
                    name: '第四象限',
                    xAxis: 50, // x 轴开始位置
                    yAxis: 500, // y 轴结束位置
                    label: {
                    position: ['80%', '95%'],
                }
                }, {
                    yAxis: 0 // y轴开始位置
                }]
            ];
            

option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            // type: 'cross'
        },
        backgroundColor: 'rgba(245, 245, 245, 0.8)',
        borderWidth: 1,
        borderColor: '#ccc',
        padding: 10,
        formatter: function (params) {
            let result = params.map((item) => {
                return item.name;
            });
            return result.join('<br/>');
        },
        textStyle: {
            color: '#000',
        },
    },
    grid: {
      left: '5%',
        right: '5%',
        bottom: '5%',
        top: '5%',
        containLabel: true,
    },
    xAxis: {
        name: '出勤率',
        nameTextStyle: {
            fontSize: 12,
            color: 'rgba(9,27,61,0.6)',
        },
        splitLine: {
            show: false,
        },
        axisTick: {
            show: false,
        },
        axisLabel: {
            margin: 20,
            textStyle: {
              color: 'rgba(9,27,61,0.6)',
            },
        },
        axisLine: {
            lineStyle: {
              color: '#DDDDDD',
            },
        },
        
    },
    yAxis: {
        boundaryGap: ['0', '10%'],
        name: '人均单量',
        nameTextStyle: {
            fontSize: 12,
            color: 'rgba(9,27,61,0.6)',
        },
        axisTick: {
            show: false,
        },
        axisLine: {
            show:false,
        },
        axisLabel: {
            margin: 20,
            showMaxLabel:false,
            textStyle: {
              color: 'rgba(9,27,61,0.6)',
            },
        },
        splitLine: {
            lineStyle: {
              type: 'dashed',
              color: 'rgba(9,27,61,0.1)',
            },
        },
    },
    series: {
        type: 'scatter',
        label: {
            show: true,
            position: 'right',
            formatter: '{b}',
            textStyle: {
                fontSize: 10,
                fontWeight: '400',
                color: 'rgba(9,27,61,0.6)',
            }
        },
        // 随机颜色&或者后端传递
        itemStyle:{
            color: function (e) {
                let randomColor = 'rgba(' + Math.floor(Math.random() * 240) + ',' + Math.floor(Math.random() * 240) + ',' + Math.floor(Math.random() * 240) + ',' + '.8' + ')'
                return randomColor.substring()
            }
        },
        data: marksData,
        
        // 中心点交集象限轴
        markLine: {
            animation: false,
            lineStyle: {
                color: 'rgba(9,27,61,0.2)',
                width: 1,
                dashOffset:5,
                type:'solid',
            },
            
            label: {
                show: false,
            },
            symbol: ['none', 'none'],
            silent: true,
            data: [
                {
                    xAxis: 60,
                },
                {
                    yAxis: 500,
                },
            ],
        },
        
        // 各象限区域
        markArea: {
            silent: true,
            itemStyle: {
                color: 'transparent',
            },
            label: {
                fontSize: 12,
                    fontWeight: '400',
                    color: 'rgba(9,27,61,0.6)',
            },
            data: markArea,
        },
    },
};

option.series.data = marksData.map((item)=>({
    ...item,
    // 点大小换算比例
    symbolSize: item.count / 100,
}));


    
截图如下