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)
我正在尝试绘制一个生长度日数据图,并带有一个指示当前生长度日数的标签。我希望标签显示为:
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)