如何使用 lapply 在 ggplots 上绘制多个图

CPL*_*CPL 4 r ggplot2

library(ggplot2)
x<-c(1,2,3,4,5)
a<-c(3,8,4,7,6)
b<-c(2,9,4,8,5)

df1 <- data.frame(x, a, b)

x<-c(1,2,3,4,5)
a<-c(6,5,9,4,1)
b<-c(9,5,8,6,2)

df2 <- data.frame(x, a, b)

df.lst <- list(df1, df2)

plotdata <- function(x) {
  ggplot(data = x, aes(x=x, y=a, color="blue")) + 
    geom_point() +
    geom_line()
}

lapply(df.lst, plotdata)
Run Code Online (Sandbox Code Playgroud)

我有一个数据框列表,我试图在同一个 ggplot 上绘制相同的列。我尝试使用上面的代码,但它似乎只返回一个图。

应该有2个ggplots。一个绘制了“a”列数据,另一个绘制了从列表中的两个数据框绘制的“b”列数据。

我看过很多例子,似乎这应该有效。

C8H*_*4O2 6

他们都被策划了。如果您使用的是 RStudio,请单击后退箭头以在图之间切换。如果您想一起看到它们,请执行以下操作:

library(gridExtra)
do.call(grid.arrange,lapply(df.lst, plotdata))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明