You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在echarts4r的e_pie环形图中显示数值与百分比

在echarts4r的环形饼图中显示数值与百分比

没问题,我帮你搞定这个需求!echarts4r里可以通过e_label()函数自定义饼图标签的显示内容,完全能实现你想要的「数值+百分比」效果,和plotly里textinfo='value+percent'的表现一致。

直接看修改后的完整代码:

library(echarts4r)
library(dplyr)

mtcars %>% 
  head() %>% 
  dplyr::mutate(model = row.names(.)) %>% 
  e_charts(model) %>% 
  e_pie(carb, radius = c("50%", "70%")) %>% 
  # 核心:配置标签显示内容与样式
  e_label(
    show = TRUE,
    # 用JS回调拼接名称、数值、百分比
    formatter = htmlwidgets::JS("function(params) {
      return params.name + '<br/>' + params.value + ' (' + params.percent + '%)'
    }"),
    position = "outside", # 标签放在饼图外侧,避免环形遮挡
    distance = 10, # 调整标签与饼图的间距
    borderColor = "#000000", # 增加标签边框,贴合plotly示例风格
    borderWidth = 0.75
  ) %>% 
  e_title("Donut chart with value & percent")

关键部分说明:

  • e_label()是echarts4r控制标签显示的核心函数,默认可能只显示分类名称,我们需要手动开启并自定义格式
  • formatter用JS回调函数拼接内容:params.name对应车型名称,params.value是carb的原始数值,params.percent是echarts自动计算的百分比(如果需要保留指定小数位,可以改成params.percent.toFixed(1))
  • position = "outside"让标签显示在饼图外侧,可读性更强;如果想放在环形内部,改成"inside"即可
  • 额外添加的borderColor和borderWidth是为了贴合你给出的plotly示例的标签样式,可根据需求调整

这样运行后,就能得到和plotly示例效果一致的环形图,同时显示数值和百分比啦!

内容的提问来源于stack exchange,提问作者Mohamed Mostafa El-Sayyad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 08:42:34