echarts自定义图例显示名称、数值、占比

先上代码

		legend: {
			orient: 'vertical',
			left: 10,
			top:20,
			data: data,
			textStyle: {
				color: '#9FB7D5' // 设置图例文字颜色为白色
			},
			// type: 'plain', // 设置图例类型为普通类型
			itemWidth: 10, // 设置图例项的宽度
			itemHeight: 10, // 设置图例项的高度
			formatter: function(name) {
				let item = data.find(item => item.name === name);
				let percentage = ''; // 初始化百分比为空字符串
				if (percent) {
					let sum = data.reduce((acc, cur) => acc + parseInt(cur.value), 0);
					percentage = ` (${(data.find(data => data.name === name).value / sum * 100).toFixed(2)}%)`; // 在百分比前后添加括号
				}

				return `${name} ${item.value}${percentage}`; // 返回格式化后的字符串
			}
		},

重点在于.reduce方法的运用,计算出总数。再用当前值除以总数得到百分比。

let sum = data.reduce((acc, cur) => acc + parseInt(cur.value), 0);
percentage = ` (${(data.find(data => data.name === name).value / sum * 100).toFixed(2)}%)`; // 在百分比前后添加括号

其他修改图例大小的很简单

最后模板化输出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值