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

如何在echarts4r柱状图中每隔2或3个柱子显示标签?

解决echarts4r柱状图间隔显示标签的问题

echarts4r的e_labels()没有直接提供间隔显示标签的参数,但可以通过自定义JS格式化函数实现需求,以下是具体实现方式:

每隔2个柱子显示标签

修改你的代码,在e_labels()中传入formatter参数,用htmlwidgets::JS()编写ECharts的回调函数,根据柱子的索引判断是否显示标签:

library(echarts4r)
library(htmlwidgets)

mtcars |> 
  tibble::rownames_to_column("model") |> 
  e_charts(model) |> 
  e_bar(cyl) |> 
  e_legend(FALSE) |> 
  e_labels(
    formatter = JS("function(params) {
      // 索引从0开始,偶数索引的柱子显示标签(对应第1、3、5...个柱子)
      if (params.dataIndex % 2 === 0) {
        return params.value; // 显示柱形的数值
        // 如果要显示model名称,可改为return params.name;
      } else {
        return ''; // 不显示标签
      }
    }")
  )

每隔3个柱子显示标签

只需把判断条件改成params.dataIndex % 3 === 0即可:

e_labels(
  formatter = JS("function(params) {
    if (params.dataIndex % 3 === 0) {
      return params.value;
    } else {
      return '';
    }
  }")
)

调整显示位置

如果需要调整标签的位置,可以在e_labels()中添加position参数,比如position = "top"或position = "inside"。

内容的提问来源于stack exchange,提问作者Jorge Hernández

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:43:10