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

如何调整ggplot条形图百分比标签高度使其显示在条形上方而非条形上

R ggplot2 条形图百分比标签位置调整方案

标签显示在条形内部的原因是你给geom_text设置的y坐标和条形顶部的y坐标完全一致,标签的默认居中对齐逻辑就会导致部分甚至全部内容卡入条形内部,只需要给文本的y坐标加一个微小的向上偏移量即可,偏移量数值可根据你的图表尺寸、字体大小在0.01~0.03区间调整。

修改后完整代码如下:

relationship_bw_Polattrev_fbse_Percent_plot <- ggplot(data = anes_sm, aes(x = polattrev_recoded, fill = fbse_recoded)) +
  geom_bar(aes(y = (..count..)/sum(..count..)),
           position = "dodge") + 
  geom_text(aes(y = (..count..)/sum(..count..) + 0.015, # 新增+0.015即为向上偏移量,可自行调整数值
                label = paste0(prop.table(..count..) * 100, '%')), 
            stat = 'count', 
            position = position_dodge(.9), 
            size = 5)+ 
  labs(x = '公众对政治和政府的关注度', 
       y = '频率百分比',
       title = '政治关注度与在线政治内容接触情况的关联', fill='是否在脸书接触政治内容')+
  scale_y_continuous(labels = scales::percent_format(accuracy = 1))+
  theme_bw()

如果调整偏移后发现顶部标签被y轴边界截断,可以额外加一行expand_limits(y = 0.25)(数值根据你实际的最大百分比调整,比最高条形的百分比高2%~3%即可),给y轴顶部预留足够的显示空间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:45:03