考虑以下示例,
library(ggplot2)
dat <- data.frame(number = c(5, 10, 11 ,12,12,12,13,15,15))
ggplot(dat, aes(x = number)) + geom_histogram()
如何左右对齐X轴标签,使其与X轴上第一个刻度的文本对齐?
答案 0 :(得分:4)
创建绘图对象后,我们可以得到第一个刻度标签的位置
p <- ggplot(dat, aes(x = number)) +
geom_histogram()
i1 <- ggplot_build(p)$layout$panel_ranges[[1]]$x.major[1]
#or
library(magrittr)
i1 <- p %>%
ggplot_build %>%
extract2("layout") %>%
extract2("panel_ranges") %>%
extract2(1) %>%
extract2("x.major") %>%
extract(1)
然后在theme
中使用它。如果有必要,最好看看并调整
p +
theme(axis.title.x = element_text(hjust = i1- 0.01))