移除axis.text.x后仍存间隙,如何消除该空白区域?
解决ggplot2移除x轴文本后残留间隙的问题
要彻底消除原x轴文本位置的间隙,仅移除文本是不够的——x轴刻度线和轴标题的默认边距仍会占据空间,需要同时处理这两部分。修改后的代码如下:
g + theme( axis.text.y = element_text(size = 10), axis.text.x = element_blank(), axis.ticks.x = element_blank(), # 移除x轴刻度线,消除刻度线占用的空间 axis.title.x = element_text(margin = margin(t = 0)) # 减小x轴标题与绘图区域的间距 ) + labs(x = "Percent of respondents")
如果调整后仍有少量间隙,可以进一步微调绘图区域的底部边距:
g + theme( axis.text.y = element_text(size = 10), axis.text.x = element_blank(), axis.ticks.x = element_blank(), axis.title.x = element_text(margin = margin(t = 0)), plot.margin = margin(b = 5) # 按需调整底部边距数值,单位为pt ) + labs(x = "Percent of respondents")
关键说明
axis.ticks.x = element_blank():移除x轴刻度线,避免刻度线预留的空间造成间隙;axis.title.x的margin(t = 0):去掉标题上方的默认留白,让标题更贴近绘图区域;plot.margin:调整整个绘图区域的外部边距,可按需缩小底部空间。
内容的提问来源于stack exchange,提问作者Vladimir Mikheev
相关产品推荐
相关产品推荐

