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

R语言gghighlight绘制分组柱状图时为非高亮项添加数值标签方法

问题说明

使用gghighlight包绘制分组柱状图时,需要为非高亮项添加对应数值标签,实际测试出现两类异常效果:

  • 将gghighlight层放置在geom_text层之前时,仅高亮项显示数值标签,实现代码与效果如下:
library(tidyverse)
library(gghighlight)

df <- data.frame (group = c("A", "A", "B", "B", "C", "C"),
                  value  = c("value_1", "value_2","value_1", "value_2","value_1", "value_2"),
                  mean = c(1.331, 1.931, 3.231, 3.331, 4.631, 3.331)
)

ggplot(data = df, aes(x = group, y = mean, fill = value)) +
  geom_bar(stat = "identity", position = "dodge") +
  gghighlight(group != "B",
              label_key = group
              ) +
  geom_text(aes(label = round(mean, digits = 2)), 
            stat= "identity", 
            vjust = -.5,
            position = position_dodge(width = .9)
            ) 

仅高亮项显示标签的柱状图

  • 将gghighlight层移动到geom_text层之后时,高亮项与非高亮项出现标签重复叠加的问题,实现代码与效果如下:
ggplot(data = df, aes(x = group, y = mean, fill = value)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = round(mean, digits = 2)), 
            stat= "identity", 
            vjust = -.5,
            position = position_dodge(width = .9)
            ) +
  gghighlight(group != "B",
              label_key = group)

高亮与非高亮项标签重复的柱状图

需求:找到可行的实现方式,让非高亮柱形可以和高亮柱形一样正常显示对应的数值标签。


实现方案

除了将需要高亮的柱形保留原有配色、非高亮柱形统一设置为灰色做区分的思路外,还可以通过设置透明度的方式弱化非高亮柱形,实现所有柱形正常添加数值标签的效果,代码如下:

subset_df <- df %>% 
  mutate(alpha.adj = as.factor(ifelse(group != "B", 1, 0.6)))

ggplot(data = subset_df, aes(x = group, y = mean, fill = value, alpha=factor(alpha.adj))) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = round(mean, digits = 2)), 
            stat= "identity", 
            vjust = -.5,
            position = position_dodge(width = .9)
  ) +
  scale_alpha_manual(values = c("0.6"=0.6, "1"=1), guide='none') 

透明度区分高亮项的带标签柱状图

该方案通过手动为高亮、非高亮分组设置差异化透明度参数,绕过gghighlight层对几何图层的过滤逻辑,既保留了高亮分组的视觉突出效果,也能保证所有柱形的数值标签正常显示,不会出现标签缺失、重复叠加的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:24:21