【问题标题】:How to create multiple plot from a list which contain List of dataframe in R如何从包含 R 中数据框列表的列表中创建多个图
【发布时间】:2021-01-26 14:44:15
【问题描述】:

直到现在我一直在循环并从 List 中保存一个 ggplot 我已经查看了另一个问题,但它没有工作。

myplots=list()

par(mfrow = c(1, 5))
for (i in 1:5) { 
  #name=paste("ggp", i, sep = "_")
  
  p1 =ggplot(Turbine[[i]],
                          aes(x=Turbine[[i]]$TS,
                          y=Turbine[[i]]$Pv..turbine))+
                          geom_point(size=1)+
                          ggtitle(names(Turbine[i])
                          )
  print(i)
  print(p1)
  myplots[[i]]= p1
}
 
multiplot(plotlist=myplots,cols=5)
plot_grid(ggp_1,ggp_2,ggp_3,ggp_4,ggp_5) #trying to save ggplot as variable name

我遇到的问题是当我想在 1 个绘图中开始绘制多个绘图时。我想要 5 列地块。

也许是 lapply 功能。好吗?

让数据成为现实

Turbine=list of listname
first listname= name(Turbine[1])
view(Turbine [[1]]) 
TS Pv..turbine
1   20
2   20
3   24
4   19
   

所以

【问题讨论】:

标签: r ggplot2


【解决方案1】:

创建类似于您的列表的内容:

Turbine = lapply(1:5,data.frame(TS=1:10,"Pv..turbine"=runif(10))

您可以在 plot_grid 中使用 plotlist= 参数,注意,您不需要 par(mfrow=..)),这适用于基本 R 绘图,您也不需要在里面使用 $ aes

library(cowplot)
library(ggplot2)

myplots=list()

for (i in 1:5) { 
   myplots[[i]] = ggplot(Turbine[[i]],
              aes(x=TS,y=Pv..turbine))+
              geom_point(size=1)
}
 
plot_grid(plotlist=myplots,ncol=5) 

【讨论】:

  • 这对我帮助很大,谢谢我不知道这很简单。最好的感谢。 :)
猜你喜欢
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
相关资源
最近更新 更多