ggplot2在boxplots上添加文本

Rad*_*Rad 5 label r ggplot2 boxplot

我有一个数据,我正在绘制的ggplot2箱形图看起来像

> head(varf)
             sID variable       value
1 SP_SA036,SA040   CM0001 0.492537313
2 SP_SA036,SA040   CM0001 0.479564033
3 SP_SA036,SA040   CM0001 0.559139785
4 SP_SA036,SA040   CM0001 0.526806527
5 SP_SA036,SA040   CM0001 0.009049774
6 SP_SA036,SA040   CM0001 0.451612903
Run Code Online (Sandbox Code Playgroud)

变量列包含16个不同的ID(从CM0001到CM0016)

我有一个带注释的数据框

category   annotation
CM001      HG4450
CM002      HG3288
..
CM016      MM8998
Run Code Online (Sandbox Code Playgroud)

我想将这些注释映射到我的箱图上,但是找不到办法,将geom_text与boxplot一起使用的正确语法是什么?

谢谢

ton*_*nov 6

有很多方法可以解决这个问题,例如这里这里.可能最简单的方法是

meds <- c(by(mtcars$mpg, mtcars$cyl, median))
ggplot(mtcars, aes(factor(cyl), mpg)) +
    geom_boxplot() + 
    geom_text(data=data.frame(), aes(x=names(meds), y=meds, label=1:3), col='red', size=10)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 唯一的问题是,使用 geom_text() 我们最终会一遍又一遍地覆盖相同的值,因为我有一个非常大的数据框,而不仅仅是 3 个标签 (2认同)