无需hjust或vjust调整ggplot中X轴标签位置的方法
解决ggplot旋转X轴标签的对齐问题
核心解决方案
针对你的两个需求,只需调整axis.text.x的hjust和vjust参数即可,无需手动试错:
- 设置
hjust = 1:让旋转90度后的标签右端对齐X轴线(歪头视角下的右对齐); - 设置
vjust = 0.5:让标签的垂直中点精准对齐X轴刻度,解决偏移问题。
修改后的完整代码
ggplot(d_ex, aes(x = spend_type, y = amt_yearly, fill = spend_type)) + geom_histogram(stat = "identity") + facet_wrap(~bls_income_cat, nrow = 3) + theme_classic() + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))
原理说明
当文本旋转90度时,hjust和vjust的参考系会跟随文本旋转:
hjust = 1:对应旋转后文本的右边缘对齐到刻度位置,实现标签贴合X轴线;vjust = 0.5:对应旋转后文本的垂直中心与刻度线位置重合,确保标签精准居中于刻度。
这种设置能自动适配不同长度的标签,无需手动调整参数值。
内容的提问来源于stack exchange,提问作者a_todd12
相关产品推荐
相关产品推荐

