geom_label 中的下标

Subscript in geom_label

我正在尝试绘制一个生长度日数据图,并带有一个指示当前生长度日数的标签。我希望标签显示为:
999 GDD50F
但是解析似乎不适用于我的代码:

library(dplyr)
library(ggplot2)

data.frame(x=sort(runif(100,0,100)),
           y=sort(runif(100,0,100)))%>%
  ggplot(aes(x=x, y=y))+
    geom_line()+
    geom_label(aes(x=max(x), y=max(y),
                   label=paste0(round(max(y))," GDD[50F]")),
               hjust=1, parse=T)

我觉得 bquote()expression() 可能有效,但我不知道如何获取字符串中的最大值。

这是使用 ggtext 中的 geom_richtext 的一种方法。

library(ggplot2)
library(ggtext)

data.frame(x=sort(runif(100,0,100)),
           y=sort(runif(100,0,100))) %>%
ggplot(aes(x=x,y=y))+
  geom_line()+
  geom_richtext(aes(x=max(x),
                 y=max(y),
                 label=paste(round(max(y)), "GDD<sub>50F</sub>")),
             hjust=1)

你可以在这里使用backticks

df <- data.frame(x=sort(runif(100,0,100)),
           y=sort(runif(100,0,100)))
label <- paste0("`",round(max(df$y))," GDD`[`50F`]")

ggplot(df, aes(x=x, y=y))+
   geom_line()+
   annotate(geom="label", x=max(df$x), y=max(df$y), label=label, parse = TRUE)