美文网首页
echarts电量横向进度图

echarts电量横向进度图

作者: 英勇的骑士_d175 | 来源:发表于2024-04-29 09:14 被阅读0次

样式

image.png

代码

    // 基于准备好的dom,初始化echarts实例
    let myChart = echarts.init(right2Chart.value);
    myChart.clear()
    // 绘制图表
    let seriesData = [
        {
            value: arr.tiankuai,
            rate: 20,
            name: "田块整治投资金额(万元)",
            color: "#EDC486",
        },
        {
            value: arr.turang,
            rate: 16,
            name: "土壤改良投资金额(万元)",
            color: "#3DD3FD",
        }, {
            value: arr.guangai,
            rate: 18,
            name: "灌溉和排水投资金额(万元)",
            color: "#1396BB",
        }, {
            value: arr.tianjiandaolu,
            rate: 6,
            name: "田间道路投资金额(万元)",
            color: "#216EE1",
        }, {
            value: arr.nongtianfanghu,
            rate: 15,
            name: "农田防护和生态环境保护投资金额(万元)",
            color: "#0CDDB3",
        }, {
            value: arr.nongtianpeidian,
            rate: 25,
            name: "农田输配电设施投资金额(万元)",
            color: "#E262E7",
        }, {
            value: arr.kejifuwu,
            rate: 25,
            name: "科技服务投资金额(万元)",
            color: "#E262E7",
        },
        {
            value: arr.gongchengjianshe,
            rate: 25,
            name: "工程建设其他费用金额及独立费用(万元)",
            color: "#E262E7",
        },
    ];
    let yName = []; // y轴名称
    let data = []
    let maxValue = 10000; //最大值
    seriesData.forEach(val => {
        yName.push(val.name);
        data.push({
            name: val.name,
            value: val.value
        })
        if (val.value > maxValue) {
            maxValue = val.value
        }
    })
    let bgData = []
    data.forEach(element => {
        bgData.push({
            name: element.name,
            value: maxValue,
            type: element.type,
        });
    });
    let option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'none',
            },
            textStyle: {
                color: "#ffffff",
                align: 'left'
            },
            backgroundColor: "rgba(23,93,113,0.8)",
            borderColor: "#175D71",
            formatter: function (params) {
                return (
                    yName[params[0].dataIndex] +
                    data[params[0].dataIndex].value +
                    '万元'
                )
            },
        },
        xAxis: {
            max: maxValue,
            splitLine: {
                show: false
            },
            axisLine: {
                show: false
            },
            axisLabel: {
                show: false
            },
            axisTick: {
                show: false
            }
        },
        grid: {
            left: 20,
            top: 10,
            right: 80,
            bottom: 0
        },
        yAxis: [{ // 每条图形上面的文字
            inverse: false,
            data: yName,
            axisLabel: {
                padding: [0, 0, 45, 0],
                inside: true,
                textStyle: {
                    fontSize: 20,
                    fontWeight: 400,
                    color: '#CADFE6',
                    align: 'left',
                },
                formatter: '{value}',
                rich: {
                    a: {
                        color: 'transparent',
                        lineHeight: 20,
                        fontSize: 12,
                        shadowColor: 'rgba(0, 0, 0, 1)',
                        shadowBlur: 10,
                    },
                },
            },
            splitLine: {
                show: false,
            },
            axisTick: {
                show: false,
            },
            axisLine: {
                show: false,
            },
        },
        { // y轴最右侧的文字
            axisTick: 'none',
            axisLine: 'none',
            axisLabel: {
                margin: 10,
                formatter: val => {
                    return val
                },
                textStyle: {
                    color: '#1fc7ab',
                    fontSize: '12',
                }
            },
            data: data,
        }
        ],
        animationDuration: 2000,
        series: [{
            // 背景样式
            name: '背景',
            type: "pictorialBar",
            barWidth: 7,
            // barHeight: 10,
            stack: '总量',
            barGap: '-100%',
            symbol: 'fixed',
            symbolRepeat: 'repeat',
            legendHoverLink: false,
            itemStyle: {
                normal: {
                    color: 'rgba(153, 153, 153, 0.23)'
                }
            },
            data: bgData,
            symbolSize: [8, 15],
            animation: false, //关闭动画
            z: 0
        },
        {
            name: 'info',
            type: "pictorialBar",
            barWidth: 7,
            legendHoverLink: false,
            silent: true,
            itemStyle: {
                color: {
                    type: 'linear',
                    x: 0,
                    y: 0,
                    x2: 0,
                    y2: 1,
                    colorStops: [{
                        offset: 0,
                        color: '#1c6678',
                    },
                    {
                        offset: 1,
                        color: '#1caf97',
                    },
                    ],
                    global: false // 缺省为 false
                }
            },
            symbolRepeat: 'fixed',
            symbolMargin: 2,
            symbol: 'rect',
            symbolClip: true,
            symbolSize: [6, 15],
            symbolPosition: 'start',
            symbolOffset: [0, -1],
            data: data,
            z: 1,
        },
        ]
    };
    option && myChart.setOption(option);

相关文章

网友评论

      本文标题:echarts电量横向进度图

      本文链接:https://www.haomeiwen.com/subject/rqutfjtx.html