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

如何在R的ggplot中将坐标轴标签移至指定边角位置?

调整ggplot2坐标轴标签位置:x轴居右下、y轴居左上

要实现x轴标签位于图表右下角下方、y轴标签位于图表左上角左侧的效果,无需移动整个坐标轴,只需通过theme()中的axis.title.x和axis.title.y参数调整标签的对齐方式与位置即可。以下是适配你示例代码的完整解决方案:

library(ggplot2)
library(titanic)
data("titanic_train", package = "titanic")
titanic <- titanic_train

ggplot(data = titanic, aes(x = Fare)) + 
  geom_histogram() +
  xlab("Want this on right side") +
  ylab("Want this on left side") +
  theme(
    # 配置x轴标签:右对齐,下移至刻度下方,增加顶部间距避免重叠
    axis.title.x = element_text(hjust = 1, x = 1, vjust = -1, margin = margin(t = 10)),
    # 配置y轴标签:左对齐,上移至刻度左侧,增加右侧间距避免重叠
    axis.title.y = element_text(hjust = 0, y = 1, vjust = 1, margin = margin(r = 10))
  )

参数说明:

  • x轴标签配置:
    • hjust = 1 + x = 1:将标签锚点固定在绘图区域最右侧,实现完全右对齐
    • vjust = -1:将标签向下偏移,使其位于x轴刻度的下方
    • margin(t = 10):增加标签与图表底部的间距,避免和刻度或绘图区域重叠
  • y轴标签配置:
    • hjust = 0 + y = 1:将标签锚点固定在绘图区域最顶部,实现完全左对齐
    • vjust = 1:将标签向上偏移,使其位于y轴刻度的左侧
    • margin(r = 10):增加标签与y轴刻度的间距,避免重叠

如果需要微调位置,可以调整vjust/hjust的数值,或者修改margin的参数值(单位为pt)。

内容的提问来源于stack exchange,提问作者Marja van der Wind

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:56:01