【发布时间】:2016-10-25 21:51:28
【问题描述】:
我有一组想要使用迭代函数显示的图。不幸的是,当我将这些图放入列表并尝试再次调用这些图时,只显示最后一个图。
如果你们可以帮助我,请附上我的代码。
`Production<-read.csv("Production.csv")
dataset<-read.csv("Try.csv")
Q<-list()
for (i in 1:2){
Hourly<-loadprofile[,1]
Average<-loadprofile[,2+i-1]
Max<-loadprofile[,368+i-1]
Min<-loadprofile[,734+i-1]
hour<-dataset[,3*i-2]
Company<-dataset[,3*i-1]
Production<-dataset[,3*i]
Q[[length(Q)+1+i]]<-ggplot()+
geom_bar(data=dataset,aes(x=hour, y=Production,
fill=Company),stat="identity") +
geom_line(data=production,aes(x=Hourly, y=Average),stat="identity")+
geom_ribbon(data=production,aes(x=Hourly,ymin=Min, ymax=Max), alpha=0.5,
fill='blue', stat="identity")+
ggtitle("1/1/2017")
}
我有 60 个不同的图表,但我现在使用两个迭代循环来测试它。当我输入命令 Q[[2]] 时,只出现第二个图形而不是第一个图形。我正在尝试将这些图表显示在一个页面中,希望能提供任何帮助。
【问题讨论】:
-
问题不是很清楚。你想做什么 ?在同一“页面”中可视化多个绘图?如果是这样,这是行不通的:Q[[2]] 是一个情节,所以很明显你看到了。您可以查看
grid.arrange包中的gridExtra。但我不确定这是你想要的...... -
是的,洛伦佐。我正在尝试在一页中可视化多个图。我知道我可以使用 grid.arrange。但在我这样做之前,我正在尝试找到一种方法来将我生成的多个图存储到一个列表中。所以我可以回忆它们。
-
理想情况下,我认为我可以将第一个图存储到 Q[1] 中,将第二个图存储到 Q[2] 中,依此类推,然后使用 grid.arrange 将我的图显示在一个页面。
-
对不起,如果你打电话给
Q[[1]]会怎样 -
现在它是空的。我的意思是当我在循环中使用 print(plot) 运行循环时。我有第一个情节出现,第二个情节紧随其后。我现在正试图将它们并排放在同一页面上。