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

如何修改ggplot条形图分类标签并在条形内添加均值?

解决方案

直接给你修改后的完整代码,同时解决两个需求:

my_data %>% 
  ggplot(aes(x = ind, y = values, fill = ind)) + 
  geom_bar(stat = "summary", fun = mean) +
  # 替换x轴分类标签
  scale_x_discrete(labels = c("Group 1", "Group 2")) +
  # 在条形内添加白色均值文本
  geom_text(aes(y = average_time, label = round(average_time, 2)), 
            color = "white", fontface = "bold") +
  theme_minimal() +
  theme(legend.position = "none")

关键改动说明

  • 修正映射逻辑:把原代码里顺序颠倒的aes(values, x=ind)改成aes(x=ind, y=values),明确x轴是分组变量、y轴是观测值,避免绘图逻辑混淆。
  • 修改x轴标签:通过scale_x_discrete()直接替换原有标签,注意labels的顺序要和你数据中ind列的水平顺序对应(如果原数据里ind的水平是先part1后part2,当前顺序就正确)。
  • 添加条形内数值:利用你已有的average_time列,用geom_text()定位文本到条形顶部(如果想让文本稍微靠下一点,可以改成y = average_time * 0.9),用round()保留两位小数让数值更整洁,白色加粗的文本在条形内辨识度更高。

如果你希望从数据层面直接修改分组标签,也可以先调整因子水平:

my_data$ind <- factor(my_data$ind, levels = c("part1", "part2"), labels = c("Group 1", "Group 2"))

这样后续绘图时x轴会直接使用新标签,无需再调用scale_x_discrete()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:01:02