2016-10-25 5 views
0

私は反復関数を使用して表示したいプロットのセットを持っています。残念ながら、これらのプロットをリストに入れて、それらのプロットをもう一度呼び出すと、最後のプロットだけが表示されます。複数のプロット表示(ggplotはループを使用しているときに最後のグラフのみを表示します)

もしあなたが私を助けることができるなら、私のコードが添付されています。

`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種類のグラフを持っていますが、今は2回の繰り返しループを使ってテストしています。コマンドQ [2]を入力すると、2番目のグラフだけが表示され、最初のグラフは表示されません。私はこれらのグラフを1ページに表示しようとしており、何か助けていただければ幸いです。

+0

あなたは何をしようとしていますか? Q [[2]]は1つのプロットなので、明らかにそれだけが分かります。 'gridExtra'パッケージで' grid.arrange'を見ることができますが、私は – lbusett

+0

はいLorenzo。私は1ページに複数のプロットを視覚化しようとしています。 私はgrid.arrangeを使うことができると私は理解しています。 – ZenProgrammer

+0

理想的には、最初のプロットをQ [1]に格納し、2番目のプロットをQ [2]に格納できると思っています。また、リストに格納された複数のプロットを格納する方法を見つけることもできます。そう、 grid.arrangeを使用してグラフを1ページに表示します。 – ZenProgrammer

答えて

0

としてあなたはここから見ることができるので、あなたは、他の場所でいくつかの問題を持っている必要があります。

a = (1:10) 
b = (1:10) 

df1 = data.frame(a=a,b=b) 
df2 = data.frame(a=b,b=-a) 

Q = list() 

for (i in 1:2){ 

    if (i == 1) {Qi = ggplot(df1, aes(x = a, y = b))+geom_point()} 
    if (i == 2) {Qi = ggplot(df2, aes(x = a, y = b))+geom_point()} 

    Q[[i]] = Qi 

} 

Q[[1]] 
Q[[2]] 

実際に動作する2つの異なるグラフを印刷します。あなたの関数内の "索引付け"はちょっと混乱しているようです(例えば、[,368+i-1][,3*i-2]]、だからそこに問題があるかもしれません)。

+0

明らかに、私はエースをaes_stringに変更するだけでした – ZenProgrammer

関連する問題