2016-12-08 3 views
-1

Я использую barchart в Для цикла, который продолжается годами, команда barchart находится в норме вне цикла, но внутри - что-то не так.R Барчар не работает в петле цикла

Вот мой код:

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

привет Тим, решение: нужно активировать barchart в команде 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() 
Смежные вопросы