echarts 柱状图顶部底部装饰

echarts地址: https://www.makeapie.com/editor.html?c=xPxuIEVpkt&v=1

效果图
在这里插入图片描述
代码

const barData = {
    xaxis: ['A类', 'B类', 'C类', 'D类', 'E类', 'F类'],
    series: [
        {
            name: '人才层次',
            data: [10, 20, 30, 40, 50, 70],
        },
    ],
    unit: '',
    colorArr: [
        {
            start: '#94DCFF',
            end: 'rgba(2,143,255,0.00)',
        },
    ],
    splitLineHide: true,
    grid: {
        left: '120px',
        top: '20px',
        right: '0px',
        bottom: '75px',
        containLabel: false,
    },
};
let normalColor = 'rgba(236,248,255,0.70)';
let seriesData = [];
barData.series.map((item, index) => {
    let markPoint = item.data.map((item, index) => {
        return {
            coord: [index, item],
            symbolSize: [70, 6],
            symbolOffset: [0, 0],
            symbol:
                'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAAGCAYAAAB+dujoAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAARqADAAQAAAABAAAABgAAAAA21lhRAAAAk0lEQVQ4EWNkAIGK/6YM/xkmAFl6QHyJgZGhgKGD8TRIatgDHH5nZKj6L8nwh+EaMAAEkALhAwMLgxZDG+NzJLHhx8TjdyaGfwy+aIECCgABqPjwCwxkH+HxOxOyulE2IgSYGJgYNgO5HxBCYNYHqDia8DDj4vE7E7gcYWJwAxa4x4D4C5gG8Yd7+QKKY5AfcfgdAKdZLnsJRWxDAAAAAElFTkSuQmCC',
        };
    });
    let series = [
        {
            name: item.name,
            type: 'bar',
            data: item.data,
            barGap: 10,
            barWidth: '36px',
            showBackground: true,
            backgroundStyle: {
                color: '#142032',
            },
            itemStyle: {
                normal: {
                    color: {
                        type: 'linear',
                        x: 0,
                        y: 0,
                        x2: 0,
                        y2: 1,
                        colorStops: [
                            {
                                offset: 0,
                                color: barData.colorArr[index].start,
                            },
                            {
                                offset: 1,
                                color: barData.colorArr[index].end,
                            },
                        ],
                        globalCoord: false,
                    },
                },
            },
            markPoint: {
                data: markPoint,
            },
            z: 0,
        },
        {
            // 分隔
            type: 'pictorialBar',
            itemStyle: {
                normal: {
                    color: '#142032',
                },
            },
            symbolRepeat: 'fixed',
            symbolMargin: 12,
            symbol: 'rect',
            symbolClip: true,
            symbolSize: [36, 2],
            data: item.data,
            z: 1,
        },
        {
            // 分隔
            type: 'pictorialBar',
            symbol:
                'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAJCAYAAACR6WqOAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAACQAAAAD1ojcWAAAByUlEQVRIDb1VPUhCURQ+V5/SUFM0tNTYbD9jZRRI0twSRbY1NAUGubw3ZCY0NbQpFC1tUQRCZtSY1txqYEM0GQj19PbdeiJPru9Heh74uO/83PPd83Hfe4xgnHM/lm1gGRgDXoBz4JAxVsfatfWFoqN1Vk9wonXiFOi6kWkj+2I+llF8wWTt8eLVlHLp2M3OjIIb9A1Let8httCNSN4I035CQyhS9muly3J71s53NDuK4mh0YNFsBwKlLfKm1J8wjV1OPPZ/N8ZEIXEgFKOswgJJN0I5mh1FRTBOSFiboRIEmmw63azK1OIs6VzFyxyW7Q8oCqmba7S6NP+bPr3Kk3p8Qt+6LisnYiyPXpr+lHuQFziLOpodRVW067do+QmBBizyHVNKKDpD1NA6CdPcuLe1QfGY+Py1LJ09p8RRphWQPTF2S9yn6c/X97K0XczR7I5UdHmDlPHINA6n4RWbszukyJdzZzQ8NGgqfXv/oJHIiinW0WFUIO5X3QrlZHbxB4sDVia+UZ4ayCuSA1Q8JUVzcNrPjiI/UABkVkDQ34ODpiTkqR7wOptdiAAINYtA1ViF77k4QgTwBAEhkrhJAuI56LVABrfl7D/DD469Dad7SgAAAABJRU5ErkJggg==',
            symbolPosition: 'start',
            symbolSize: [79, 9],
            symbolOffset: [0, 15],
            data: item.data,
            z: 1,
        },
    ];
    seriesData = [...seriesData, ...series];
});
option = {
    backgroundColor: "#0B1321",
    grid: barData.grid,
    tooltip: {
        textStyle: {
            fontSize: 48,
        },
        trigger: 'axis',
        formatter: function (params) {
            let str = '';
            for (let i = 0; i < params.length - 2; i++) {
                if ((!!params[i].value || params[i].value === 0) && params[i].axisValue !== '') {
                    str += params[i].axisValue + ': ' + params[i].value + '人<br/>';
                } else if (params[i].axisValue !== '') {
                    str += params[i].axisValue + ': ' + '无数据' + '<br/>';
                }
            }
            return str;
        },
    },
    xAxis: [
        {
            type: 'category',
            data: barData.xaxis,
            axisPointer: {
                type: 'shadow',
            },
            axisLabel: {
                interval: 0,
                margin: 25,
                formatter: (value) => {
                    return `{a|${value}}`;
                },
                width: 100,
                height: 56,
                align: 'center',
                backgroundColor: '#142032',
                rich: {
                    a: {
                        fontFamily: 'MicrosoftYaHei',
                        color: normalColor,
                        fontSize: 36,
                        lineHeight: 58,
                    },
                },
            },
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false,
            },
            splitLine: {
                show: false,
            },
        },
        {
            type: 'category',
            show: true,
            axisPointer: {
                show: false,
            },
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false,
            },
            axisLabel: {
                interval: 0,
                margin: 5,
                formatter: (value) => {
                    return `{a|}`;
                },
                width: 72,
                height: 9,
                align: 'center',
                backgroundColor: {
                    image:
                        'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAJCAYAAACR6WqOAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAACQAAAAD1ojcWAAAAzElEQVRIDdVW0QmFMAwUC67iRo7iDM7hIl3AOVzAAfruIF+l9AISfQZCbXL1cqEtHQZYKSXBV/gBv2zkPDEfbeCZ4Bv8NOf3FM3L/4Onr90AGWPLMoLhTQIHG1LbFt0gELI5uSa2OeOJHeRO6dn6QKHcObWdD/BK7SOKWEQhKi+W/3VaaVvYoFlIUHmx3JXeG6hWrAG7FVLaZh4xXsw9O26V4FgM8lcuafBq7QDJc+jQ+EmISztA+ib/pHxdtFu7AbmTXnkHaSlxCKX9BzvcFPu+mRZJAAAAAElFTkSuQmCC',
                },
                rich: {
                    a: {
                        fontFamily: 'DINAlternate-Bold',
                        color: normalColor,
                        fontSize: 36,
                        lineHeight: 58,
                    },
                },
            },
            data: barData.xaxis,
        },
    ],
    yAxis: [
        {
            type: 'value',
            name: '',
            splitNumber: 3,
            nameTextStyle: {
                fontFamily: 'PingFangSC-Regular',
                color: normalColor,
                fontSize: 36,
                align: 'right',
                padding: barData.namePadding,
            },
            axisLabel: {
                formatter: '{value}',
                align: 'right',
                textStyle: {
                    fontFamily: 'PingFangSC-Regular',
                    color: normalColor,
                    fontSize: 36,
                },
            },
            axisLine: {
                show: true,
                lineStyle: {
                    type: 'solid',
                    width: 3,
                    color: '#043147',
                },
            },
            axisTick: {
                show: true,
                inside: true,
                lineStyle: {
                    type: 'solid',
                    width: 3,
                    color: '#043147',
                },
            },
            splitLine: {
                show: barData.splitLineHide ? false : true,
                lineStyle: {
                    type: 'dashed',
                    width: 3,
                    color: '#093D5D',
                },
            },
        },
    ],
    series: seriesData,
};

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用中的代码,可以看出echarts柱状图顶部可以展示自定义的数据,并且可以通过设置label的样式来实现。在给定的代码中,使用了formatter函数来自定义顶部数据的展示格式,并使用了rich属性来设置不同样式的文本。具体来说,label.show设置为true表示显示顶部数据,formatter函数返回的字符串会显示在柱状图顶部。其中,通过a和b来设置不同样式的文本,a代表字体颜色为白色,字体大小为30,b代表字体颜色为白色,字体大小为20,并且在底部有10px的边距。因此,根据给定的代码,可以实现在echarts柱状图顶部展示自定义的数据图片。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Echarts柱状图在实体里面展示数据/柱状图顶部展示数据简记](https://blog.csdn.net/ITyiy/article/details/120800078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [echarts柱状图](https://download.csdn.net/download/qq_42888854/11970817)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值