极地坐标模拟仪表盘

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            var blue = "/asset/get/s/data-1605255510124-QwqfBsT1P.png";
const red = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAACYCAYAAACF4+vsAAAGkElEQVR4Xu2afagUVRjGn2dXy8yudjPRCCqozDQ1kkKlEu27rjmzztwrGhoKSgqFQlaGH0VpgVZQ9EHRJSPdGXdW0jIKywqlD0UNLbOosMKv0AxRUXffOLt7vXfX3Tsfu7P+M+evy53zvs9vnzk7s+d9D1HFEF2/XIXTcf4KmoZBA1WcNGs6JEZaqVTQPNUBmPoLOQcsZ+65AviyAHB73QFk1Kgu6NN4JCd84FBPbthwOghE4FsgzdoQCLflRCV7I+3V+b99jioA9OkQvJHTI2Yw6bzpU7sQGiQq9w3Q34VgSiFLK5POw0FSVePATxBcVwDYxaQzoG4AYhg9wcwhALGCaBYSb6Rt5xeljxHIATG0O0F+WqQjchft9Gc+tIOvATES80FZVAzABbRTz9QHwNTXAri/ROwjWs4D9QI4AODSErGDtJw+oQOIYVwNZn4pKyTxa2jbv/qB8L0IxUxMAmR5eRE+RCv1frgAzdrLED5aVoTyCpPpx8IFMPVvAdxcQeQ7Ws4toQHIlCndcOw/9bA5r4LISXRv6MnW1hNeIXytATG04SA3dZqcGM6k801IAIlHQXm50+TCx2inXgkHwNRXAGhxSb6SljMhLIDfAVzpkvwPWs5VNQcQTeuDrtzvKbHE+9C2D3qZ63kRiploAuRDL0kBjqWVWuNlrg8A/TkAT3lJCuB5Ws48L3P9AKwHMNpLUoisp52+w8tcTwCycGEMP24/DLDBS1IAR3D94EYuXJh1m+8NYEJiIDKywy1Z0fU4B3FFaqdbjDcAQ58K4m23ZEXXBdNoO++4xXgDaNbfhmCqW7Ki68RbTDrT3WK8AZi62vUMcUtWcn07LWeoW4wrgBhGDzDzL4C4W7KS6xlIvBdt+2hncR4AtNEg1VcwyBhNy/miSoDEE6AsDqIOYC4t58XqAEzdAaAFBEjTcvRqAfYC6BsQYB8tp19gAGkZdyWyMfUKDj4kfgVte0+lBJ0uQmnWDAit4OpqHw+DtrMqKMBSCGdXBUBZxmR6TjAAQ98IYkRVAIJNtJ2RvgHEMM4DM+oneLeqAIBjnRWxKq4BMcbdBMY2VymeD5fsMNqrt5TLVRnA1GYCfLUmAJBZtNKv+QVYDnBSbQDwHi1nsj+AZn03BNfUBkB+ppXOF7RKRtlbIIbRCGb+yVUAazMEEu9N21aFraJRHqB53L2Q2Me10S5kYfY+Jlev8wigLYJwfk0BpHwRq7wDpv4JgLtrDLCOduo+VwdE3XdTV/e/saYAwCFYTm+qt0OHcZYDYhj9wcyuGovn01H6M5ne7QKgTwHxbigAOLuIdbYDZuJVQGaGBPAardSszh0wE5sBuSkkgC20UsMqAkhTU3dc0FW9AbuEA4BT6N7Q0LGIVXQLpGX8rchmvwpJPJ82FhvJlavOFLqKAYzEbFCWhgognEM7taxNoxjA1G0A40MFAG1aKbMSwJ8Acu3YEEdREeuMA9Iy9jJku/wdonB7aon3o23vyz2b2v4rhq6BULug8IdAp+2kiwHyfeDHw1fPKSym5eQKXu0OmLrqA99WJ4DPaTljzgCIYcQLNYAedQI4WqgdZHIOFPWB60QAylAm09sLAB36wPUCKBSx2gDa+8D1AiDeYdKZlgcw9B0gBtZLO6cj2EnbGcQyfeB6cWRx4nQvlu0D1wtBZAzF1J8G8Gy9NEt05ikA1QNoOkcAaxRAuT5wvXj2KAC1B7ikXoolOnsVQKbDSYh6cxxTAKqpUKtdsN8PoAAShwC52G9kjebvVwBbAXEtq9dIsDTNRoqptQIsWz4JSbQ9LfG6cmAyIK2hi5UToJiUCU29kemqfoxWasmHxXYU51/YN/82NLUPAHpuONeI6E1azozC6/jBG8D41gBtmaAsJ5HhAKZSv3X8UaoKiY8EzegrjrKEyfSTKqYdYOLEBpw6/j2Aa30l8z2Z29D9ouFtO+SSzWnuVnwNoKfvvN4CDkLiIzqeNTq7QtIyfgSysjaEp+N+SPae0pOXFQqV2iB1Wrh2pVrsgMS1cqesKlfL1Zo4fXwJBKr92nZu0JvR7bNOg/ISsl0W0LaPl30WuWUUI7cu1D5Otd+8PqyOA7ICmdgSplLlz50VhD2/hvMF7Ow4UEZBMBiQq9rPE/AwIL+D+AHC9ZDYGq+nKz0DuDkV9HoEEDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDkQORA5EDlwzh34H1UAPAXjXtT/AAAAAElFTkSuQmCC'
let min = 0;
let max = 360
let title = '生均教学日常运行支出'
// 圆环
let barValue = [270,280]
// 指针
let pointValue = [120, 280]
// 指针
let picList = [red, blue]

let angleMax = max * 4 / 3

colorList = ['#FF5652', '#FFBD4B']


let zIndex = 100
let graphicData = pointValue.map((item, index) => {
    // 指针
    let rotate = parseInt(item/max*270)
    return {
        type: 'image',
        left: 'center',
        top: 'center',
        rotation: (Math.PI / 180 * 135) - Math.PI / 180 * rotate,
        position: [0, 0],
        style: {
            image: picList[index],
            height: 152,
            width: 32
        }
    }
})
let seriesData = barValue.map((item, index) => {
    return {
        type: 'bar',
        data: [, , item],
        coordinateSystem: 'polar',
        barWidth: 20,
        // barMaxWidth: '20%',
        z: 99 - index,
        name: '抢修项目',
        roundCap: true,
        color: colorList[index],
        barGap: '-100%',
    }
})
console.log('seriesData', seriesData)
var option = {
    backgroundColor:'#00070B',
    angleAxis: {
        axisLine: {
            show: false
        },
        axisLabel: {
            show: false
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        min: 0,
        max: angleMax,
        boundaryGap: ['0', '100'],
        startAngle: 225
    },
    radiusAxis: {
        type: 'category',
        axisLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        axisLabel: {
            show: false
        },
        data: ['a', 'b', 'c'],
        z: 10
    },
    polar: {
        radius: '80%'
    },
    graphic: [{
        type: 'group',
        bottom: 120,
        left: 'center',
        width: 100,
        height: 300,
        z: 1000,
        children: [{
            type: 'text',
            bottom: 0,
            style: {
                fill: '#C3F0FF',
                text: title,
                font: 'bold 25px Microsoft YaHei',
            }
        }]

    },{
        type: 'group',
        bottom: 250,
        left: 'center',
        width: 100,
        height: 300,
        z: 1000,
        children: [{
            type: 'text',
            style: {
                fill: '#00BAFF',
                text: max,
                font: '400 30px Source Han Sans CN',
            }
        }]

    }, ...graphicData],
    series: [...seriesData,
        {
            type: 'bar',
            data: [, , max],
            z: 0,
            silent: true,
            coordinateSystem: 'polar',
            barWidth: 20,
            // barMaxWidth: '40%',
            name: 'C',
            roundCap: true,
            color: '#70D5FF',
            itemStyle: {
                normal: {
                    borderWidth: 20,
                    borderColor: 'rgba(59,186,255,0.2)'
                }
            },
        },
    ],
    legend: {
        show: false,
        icon: 'circle',
        itemWidth: 20,
        itemHeight: 20,
        textStyle: {
            fontSize: 16,
            color: '#c0c0c0'
        },
        bottom: 30,
        left: 'center',
        data: ['抢修项目', '警告事件']
    },
    tooltip: {
        show: false
    },

};