Echarts中堆叠柱状图之百分比显示

本文介绍如何在ECharts的Tooltip中同时显示数据值及其占总数的百分比,并通过字符串模板和回调函数两种方式实现了具体的效果。适用于需要在图表上直观展示数据占比的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:tooltip显示其数量之外,还需在旁边显示该数量所占总数的百分比,具体效果图如下:

这里写图片描述

相关资料

参考属性链接:http://echarts.baidu.com/option.html#tooltip.formatter

echarts的tooltip中的一个属性formatter:提示框浮层内容格式器,支持字符串模板和回调函数两种形式。

# 字符串模板

折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
注意: 类目值就是对应的横坐标。
例子:

 tooltip: {
    trigger: 'axis',
    axisPointer: {
         type : 'shadow'
    },
    formatter: '{b} <br /> {a0}: {c0}<br />{a1}: {c1} <br /> {a2}: {c2}' + "%"
},
# 回调函数

回调函数格式:(params: Object|Array, ticket: string, callback: (ticket: string, html: string)) => string
例子

tooltip: {
    trigger: 'item',
    position:'right',
    formatter : function(params, ticket, callback) {
        if (params.value == undefined || params.value !== params.value) {
            params.value = 0;
        }
        return  params.seriesName +" <br />" + params.name + ":" + params.value + "%";        
    }
},
 需求实现
"tooltip": {
       "trigger": "axis",
       "axisPointer": {
"type": "shadow",
"textStyle": {
        "color": "#fff"
},
"label": {
        "precision": 2,
    }
},
formatter : function(params, ticket, callback) {
    let obj = params.map((item, index) => {
        if (item.value == undefined || item.value !== item.value) {
                item.value = 0;
        }
    let percent = ((item.value / params[params.length - 1].value) * 100).toFixed(2)
    // 小圆点显示
    let dotColor = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:' + item.color + '"></span>'
            return dotColor + item.seriesName + ":" + item.value + '(' + percent + '%' + ')' + '</br>'
        })
            return obj.join('') // 去除','
        }
},
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值