ECharts 图例文本对齐,告别长短不一!

ECharts 饼图图例格式化实战

效果图

实现

思路: 我们可以将图例文本划分为两个独立的区域:

  1. name 区域:固定宽度(例如 80px),所有名称左对齐。
  2. percent 区域:紧接在 name 区域之后显示,由于 name 宽度固定,所有百分比将从同一垂直位置开始,实现了整齐的左对齐。

关键代码实现:

javascript 复制代码
legend: {
    orient: 'vertical', // 垂直布局
    top: '12%',
    right: '0',
    itemWidth: 10,
    itemHeight: 10,
    icon: 'circle',
    textStyle: {
        fontSize: 12,
        color: '#666',
        // 核心:定义富文本样式
        rich: {
            name: {
                width: 80,      // 固定宽度
                align: 'left'   // 名称左对齐
            }
            // percent 区域不需要额外配置,使用默认样式即可
        }
    },
    formatter: function (name) {
        const item = pieChartData.find((d) => d.name === name);
        if (item) {
            const percent = ((item.value / pieTotal) * 100).toFixed(2) + '%';
            // 使用模板字符串 {样式名|内容} 应用 rich 样式
            return `{name|${name}}{percent|  ${percent}}`;
        }
        return name;
    }
}

效果:无论 name 是 4个还是6个字,它都会被限制在 80px 的框内。因此,所有的 percent 内容都会从几乎相同的 x 坐标位置开始,形成了完美的对齐效果。

相关推荐
速易达网络2 天前
基于 Vue3 + Flask + ECharts 构建政务 OA 系统门户
前端·echarts·政务
paopaokaka_luck3 天前
校园新闻推荐系统(DeepSeek新闻助手、个性化推荐算法、 Redis热词排行榜、ECharts运营分析、互动与实时通知、新闻运营闭环)
java·spring boot·mysql·spring·tomcat·echarts·intellij idea
paopaokaka_luck3 天前
民宿管理系统 (AI民宿总结、协同过滤推荐算法、WebSocket 在线咨询、ECharts 经营分析、房态与结算联动、 民宿预订业务闭环)
java·人工智能·spring boot·websocket·数据分析·echarts·推荐算法
今年下半年5 天前
【前端】Vue2 项目 ECharts 统计图表组件封装与使用实践(附组件源码)
前端·javascript·echarts
paopaokaka_luck6 天前
剧本杀预约管理系统(AI客服、 webSocket在线沟通、协同过滤算法推荐、Echarts多维分析、 QQ邮箱通知、 腾讯地图导航、四角色协作)
websocket·网络协议·echarts
hhb_6186 天前
一键生成数据看板,ECharts实战演示
前端·javascript·echarts
志尊宝7 天前
Vue3 零基础每日笔记(085):项目上线前 Checklist——环境变量、报错监控、安全自查
前端·javascript·笔记·安全·信息可视化·echarts
paopaokaka_luck7 天前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
志尊宝8 天前
Vue3 零基础每日笔记(081):富文本编辑器集成 wangEditor 5——封装
前端·javascript·vue.js·笔记·信息可视化·echarts
志尊宝8 天前
Vue3 零基础每日笔记(080):Vue3 + ECharts 数据可视化——封装可复用图表组件
前端·javascript·vue.js·笔记·信息可视化·echarts