在 ggplot 中使用 plotmath 表达式的两行注释

Two-line annotations using plotmath expressions in ggplot

我想在 ggplot

注释的第二行中将单个字符设为斜体

这是情节

iris %>%
  ggplot(aes(x = Sepal.Length,
             y = Species,
             fill = Species)) +
         stat_summary(geom = "bar", fun = "mean") +
         theme(legend.position = "none") -> p

现在我可以像这样对情节进行注释,并将单个字符设为斜体,而将其余字符设为单体。

p + annotate("text", 
             label = "italic(N)==74",
             x = 3,
             y = 2,
             parse = T)  

现在说我想要一个两行注释,其中粘贴了某些字符。我可以这样做不用 使用 plotmath

p + annotate("text", 
             label = paste("AUC = ", 
                           round(60.1876,3),
                           "\nN = ",
                           74,
                           sep = ""),
             x = 3,
             y = 2,
             size = 4)

如您所见,N 字符是单体的。有没有办法让它看起来像第二张图,但 N 是斜体,使用 plotmath 或其他技术?

使用atop在文本之上绘制文本。参见 ?plotmath

p +
  annotate(
    "text", 
    label = paste0("atop(AUC == ", round(60.1876, 3), ",italic(N) == 74)"),
    x = 3,
    y = 2,
    size = 4,
    parse = TRUE
  )