Sto facendo un'analisi esplorativa dei miei dati e ho bisogno di tracciare più elementi grafici usando ggplot. La quantità di grafica è davvero enorme (206 stazioni) e volevo tracciarli in 1 colonna contro 8 righe per pagina sulle tante pagine necessarie. Sono a conoscenza di funzioni come viewport o grid.arrange, ma non riesco a farle funzionare in questo caso. Ho già notato che layout() né par (mfrow = c (8,1)) non funzionano con ggplot, ma invio la parte del codice in cui sono bloccato sotto. Qualsiasi aiuto sarebbe molto apprezzato!Più grafici su più pagine utilizzando ggplot
pdf('test.pdf', width=21, height=27)
par(mfrow=c(8,1))
for(i in levels(tab$Station))
{
print(ggplot(tab[tab$Station==i], aes(x=Date)) +
geom_line(aes(y=Tmin), col="blue", size=0.1) +
geom_line(aes(y=Tmax), col="red", size=0.1) +
geom_text(aes(x=as.Date('2010-01-01'), y=45), label=i) +
ylim(0, 45) +
scale_x_date(labels = date_format("%Y")) +
theme_bw() +
theme(
plot.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_rect(color = 'black')
,panel.background = element_blank()
)
)
}
dev.off()
Ciao Jose, ti dispiacerebbe rendere questo un esempio riproducibile? Ciò significa comunemente fornire dati giocattolo in modo che possiamo semplicemente prendere il codice ed eseguirlo. Molto spesso, le persone usano la funzione 'data()' per fare ciò. Ad esempio 'data (mtcars)' carica in memoria 'mtcars' data.frame. – Statwonk
La risposta di @baptiste è stata eseguita? –
So che è una vecchia domanda, ma prova a utilizzare la funzione facet_wrap_paginate nel pacchetto ggforce. Vedere l'aiuto qui https://cran.r-project.org/web/packages/ggforce/ggforce.pdf è così che ho risolto il mio problema simile. –