如何调整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
相关产品推荐
相关产品推荐

