R 使用cowplot将其他x轴标签添加到ggplot2绘图(带有离散轴标签)

R 使用cowplot将其他x轴标签添加到ggplot2绘图(带有离散轴标签),r,ggplot2,cowplot,R,Ggplot2,Cowplot,我正在尝试向带有离散轴标签的ggplot2绘图添加其他x轴标签。我尝试过几种方法(包括一些使用网格的方法,例如),但已决定使用cowplot包中的add_sub()函数。但是,添加多个添加标签似乎并不简单,因为后续标签添加到已使用一个附加标签修改的绘图下方,而它应该与之垂直对齐)。下面是一个示例,“我的标签”位于正确位置,但“我的第二个标签”不在正确位置。我尝试过手动调整第二个标签的垂直/y轴位置,但后续标签也会出现同样的问题(事实上,这是一种更复杂的形式,因为对第二个标签有效的相同调整对第三个

我正在尝试向带有离散轴标签的ggplot2绘图添加其他x轴标签。我尝试过几种方法(包括一些使用
网格的方法,例如),但已决定使用
cowplot
包中的
add_sub()
函数。但是,添加多个添加标签似乎并不简单,因为后续标签添加到已使用一个附加标签修改的绘图下方,而它应该与之垂直对齐)。下面是一个示例,“我的标签”位于正确位置,但“我的第二个标签”不在正确位置。我尝试过手动调整第二个标签的垂直/y轴位置,但后续标签也会出现同样的问题(事实上,这是一种更复杂的形式,因为对第二个标签有效的相同调整对第三个标签并不直接有效)。以下是一个例子:

library(ggplot2)
library(cowplot)
#> 
#> Attaching package: 'cowplot'
#> The following object is masked from 'package:ggplot2':
#> 
#>     ggsave

p <- ggplot(diamonds, aes(x = carat, y = price, color = cut)) +
    geom_point()

p1 <- add_sub(p, label = "My Label", x = .125)
p2 <- add_sub(p1, label = "My Second Label", x = .275)

ggdraw(p2)
库(ggplot2)
图书馆(cowplot)
#> 
#>附加包:“cowplot”
#>以下对象已从“包:ggplot2”中屏蔽:
#> 
#>ggsave

p之所以会得到这个结果,是因为
add\u sub
正在获取输入图并在其下方写入,因此每次添加另一个
add\u sub
时,您的级别将降低1级

这就是我要做的工作:

p <- ggplot(diamonds, aes(x = carat, y = price, color = cut)) +
  geom_point()

p1 <- add_sub(p, label = c("My Label   My Second Label"))

ggdraw(p1)

p您需要将
hjust=0
添加到标签的左对齐中

p <- ggplot(diamonds, aes(x = carat, y = price, color = cut)) +
  geom_point() 

p1 <- add_sub(p, label = "My Label", x = .125, hjust=0)
p2 <- add_sub(p1, label = "My Second Label", x = .125, hjust=0)

ggdraw(p2)

p我很抱歉-我想我的意思是我需要标签应该水平对齐,就像@Hack-R的那样answer@JoshuaRosenberg没问题-我学到了一些新东西,所以这仍然是值得的!这很好,但是很难用它把标签放在正确的位置。@JoshuaRosenberg如果你想给我举个例子,我会帮你的。不要忘记,除了使用空格、对正等外,还可以设置
x