R 在注释()中使用npc单位

R 在注释()中使用npc单位,r,ggplot2,grid,coordinates,ggpmisc,R,Ggplot2,Grid,Coordinates,Ggpmisc,我有一个ggplot对象。我想添加一些带有annotate()的文本,并以npc为单位指定文本的坐标。这可能吗 这个最小的示例演示了文本通常如何使用annotate()定位: 库(ggplot2) p就我个人而言,我会使用Baptiste的方法,但会将其包装在一个自定义函数中,以使其不那么笨重: 自“ggpmisc”(>=0.3.6)起,以下代码按预期工作(自2020-09-10起在CRAN中) 库(ggpmisc) p谢谢你的报道。几分钟前,我将函数annotate()添加到包“ggpmisc

我有一个ggplot对象。我想添加一些带有
annotate()
的文本,并以npc为单位指定文本的坐标。这可能吗

这个最小的示例演示了文本通常如何使用
annotate()
定位:

库(ggplot2)

p就我个人而言,我会使用Baptiste的方法,但会将其包装在一个自定义函数中,以使其不那么笨重:

自“ggpmisc”(>=0.3.6)起,以下代码按预期工作(自2020-09-10起在CRAN中)

库(ggpmisc)

p谢谢你的报道。几分钟前,我将函数
annotate()
添加到包“ggpmisc”中。新的
annotate()
覆盖了原始定义,增加了对npcx和npcy位置美学的支持。我将在几天后提交给CRAN。同时,代码可以从Bitbucket获得(请注意,由于历史原因,当前主分支被称为“no debug”)。这使得
注释(“text\u npc”,…)
可用。这是个好消息。感谢您的软件包和此更新。几分钟前,CRAN已接受更新的“ggpmisc”版本0.3.6。二进制文件仍然需要几天的时间才能可用,而从源代码进行更新应该可以更快。
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + annotate("text", x = 30, y = 4.5, label = "hello")
annotate_npc_abs <- function(label, x, y, ...) 
{
  grid::grid.draw(grid::textGrob(
    label, x = unit(x, "npc"), y = unit(y, "npc"), ...))
}
p 
annotate_npc_abs("hello", 0.05, 0.75)