2013-03-28 6 views
68

Sto usando una semplice funzione ggplot che funziona bene all'esterno di un ciclo ma non dentro anche se il valore iterativo non interferisce con il ggplot funzione. Perché è così ?R: ggplot non funziona se è all'interno di un ciclo for sebbene funzioni al di fuori di esso

Ecco il mio codice

x=1:7 
y=1:7 
df = data.frame(x=x,y=y) 
ggplot(df,aes(x,y))+geom_point() 

Funziona! Ma se il ggplot è all'interno di un ciclo for ...

for (i in 1:5) { 
    ggplot(df,aes(x,y))+geom_point() 
} 

... non funziona più! Cosa mi manca?

Grazie

+0

Che codifica-lingua è? –

+0

Oh mi dispiace. È in R –

+1

Quindi è fuori dal mio scopo, buona fortuna. –

risposta

132

Quando in un ciclo for, è necessario in modo esplicito print tuo risultante ggplot oggetto:

for (i in 1:5) { 
    print(ggplot(df,aes(x,y))+geom_point()) 
} 
+3

Potresti approfondire il motivo per cui questo è il caso? –

+2

@SydKerckhove Nel caso in cui si sia ancora interessati, ecco un eccellente articolo su ggplot: http://www.data-imaginist.com/2017/Beneath-the-canvas/ – roarkz

+0

Come si usa questo con ggsave? – John

Problemi correlati