带下标的图例标签-lapply拆分功能内

时间:2019-09-26 13:02:10

标签: r ggplot2 rstudio lapply

我正在使用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')

0 个答案:

没有答案