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

echarts4r条形图轴标签部分隐藏:如何原位显示完整标签?

解决echarts4r条形图轴标签被遮挡的问题

你使用echarts4r绘制条形图时,发现国家名称轴标签部分隐藏,尤其是数值18000对应的南非标签完全被遮挡,希望在不改变标签位置的前提下让所有标签完整显示。

原始代码:

library(echarts4r) 
country <-  c("Côte d'Ivoire", "Papua New Guinea", "Republic of Venezuela", "The United Kingdom ", "South Africa")
quantity <- c(2000, 500, 1800,  2500, 18000)
df <- data.frame(country, quantity)

df %>% 
  e_charts(country) %>%
  e_bar(quantity,
         label = list(show = TRUE, 
                      position = "insideEnd", 
                      offset = c(535, 17)),
        showBackground = TRUE,
        itemStyle = list(color = "#490B3D")
  ) %>%
  e_x_axis(
    axisTick = list(show = FALSE),
    axisLine =list(show = FALSE),
    axisLabel = list(show = TRUE, inside = TRUE),
    inverse =  TRUE
  ) %>% 
  e_y_axis(show = FALSE) %>% 
  e_flip_coords() %>% 
  e_legend(show = FALSE)

标签隐藏效果:
条形图标签隐藏效果


解决方案

问题根源是图表右侧没有预留足够空间容纳内部标签,只需添加e_grid()调整右侧边距即可,同时保持标签位置不变:

修改后的代码:

library(echarts4r) 
country <-  c("Côte d'Ivoire", "Papua New Guinea", "Republic of Venezuela", "The United Kingdom ", "South Africa")
quantity <- c(2000, 500, 1800,  2500, 18000)
df <- data.frame(country, quantity)

df %>% 
  e_charts(country) %>%
  e_bar(quantity,
         label = list(show = TRUE, 
                      position = "insideEnd", 
                      offset = c(535, 17)),
        showBackground = TRUE,
        itemStyle = list(color = "#490B3D")
  ) %>%
  e_x_axis(
    axisTick = list(show = FALSE),
    axisLine =list(show = FALSE),
    axisLabel = list(show = TRUE, inside = TRUE),
    inverse =  TRUE
  ) %>% 
  e_y_axis(show = FALSE) %>% 
  e_flip_coords() %>% 
  e_legend(show = FALSE) %>%
  e_grid(right = "15%")  # 关键:增加右侧边距,为标签预留显示空间

你可以根据标签的实际长度调整right的百分比,比如标签更长时可设置为20%,确保所有标签都能完整显示。

内容的提问来源于stack exchange,提问作者Essossinam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 03:54:11