我正在使用lapply split函数绘制多个变量(之所以我使用它而不是facet_grid是因为我想要每个图都有特定的图例)。我正在从查找表中调用图例标签。
问题在于,下标将不会打印到图例标签上。
我尝试更改查找表以及plot函数中的代码。我发现了许多类似的问题,但没有使用lapply split函数。
我举了一个可重复的例子:
time <- seq(2000, 2099, by= 1)
value <- runif(100, 5.0, 7.5)
method <- sample(x = 1:3, 100, replace = T)
data <-data.frame(time, value, method)
legend_labeller <- function(method){
labels <- c( as.expression(bquote('kg m'^'-3')),
as.expression(bquote('kg m'^'-4')),
as.expression(bquote('kg m'^'-2')))
return(paste(labels[method]))
}
ggList <- lapply(split(data, data$method), function(i) {
ggplot(i)+
geom_line(aes(x= time, y = -as.numeric(value), colour = as.factor(method)), size=0.7)+
labs(colour = legend_labeller(as.character(i$method[1])))
})
plot_grid(plotlist = ggList, ncol = 1,align = 'v')