2016-12-08 142 views
-1

我正在使用barchart in 對於循環,經歷多年後,barchart命令在循環外部正常,但在內部 - 出現錯誤。R Barchar在For循環中不工作

這裏是我的代碼:

for(i in 2006:2016){ 
    htr2 = htr[htr$year==i , ] 
    barchart(year ~ y_kayam , groups=shlav, htr2, auto.key = list(columns = 2) ) 
    Sys.sleep(5) } 

這裏是我的數據

year vaada shlav tm38 y_kayam y_mevukash 
2013 410   1 1  12.00 
2013 410   2 1  12.00 
2013 410   1 1  
2013 410   1 1  8.00 15.00 
2013 410   3 1  8.00 15.00 
2013 410   1   8.00 15.00 
2013 410   1 1  15.00 28.00 
2013 410  3 1  15.00 28.00 

謝謝!

+1

你期望在這裏發生什麼? AFAIK每個循環迭代將簡單地覆蓋前面的圖。 –

+0

如果你想保存每個圖的副本,看看'dev.copy' – clemlaflemme

+0

嗨蒂姆,解決方案:需要在print()命令中激活條形圖,我使用一組圖表製作小動畫。 :) –

回答

0

爲了很好地繪製六個圖,我將使用par函數。

par(mfrow=c(3,3)) 

for(i in 2006:2016){ 
    htr2 = htr[htr$year==i , ] 
    barchart(year ~ y_kayam , groups=shlav, htr2, auto.key = list(columns = 2) ) 
    Sys.sleep(5) } 

現在,您可以使用dev.copy()將其保存爲PNG(或其他圖像類型)。

dev.copy(png, 'myPlots.png') 
dev.off()