R: trama in un layout a griglia su più pagine
Domanda
Mi piacerebbe organizzare un layout a griglia 3x3 su 3 pagine di un file PDF. Mi piacerebbe tracciare in posizioni di griglia arbitrarie attraverso le tre pagine. So come disporre più sottotrame con qualche opzione come layout=c(3,3)
. Riesco a capire come organizzare un layout 3x3 su un unico appezzamento utilizzando il pacchetto di griglia, e poi decidere di scegliere quale complotto per usare. Tuttavia, non riesco a capire come disporre una griglia 3x3 su 3 pagine, e poi scegliere quale griglia per trama in.
Speravo grid.newpage()
avrebbe risolto il mio problema, come nell'esempio seguente:
library(grid)
pdf(file="griddtest.pdf",paper="letter")
vp1 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"),
name = "vp1")
vp2 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"),
name = "vp2")
pushViewport(vp1)
grid.text("Some drawing in graphics region 1 on page 1",y = 0.8)
grid.newpage()
pushViewport(vp2)
grid.text("Some drawing in graphics region 2 on page 2",y = 0.8)
dev.off()
, ma questo solo genera la seconda pagina (sto cercando di indovinare 'newpage' sovrascrive il oldpage, piuttosto che fare una nuova pagina).
Qualsiasi aiuto sarebbe molto apprezzato!
Soluzione
Se si dispone di nove pannelli, e si specifica 3 pannelli nel layout, per es.,
xyplot(runif(9) ~ 1:9 | 1:9, layout = c(1,3))
poi si ottiene 3 grafici disegnati. Per tracciare nella finestra GUI le trame vengono sovrascritti, ma se si sta salvando in PDF in cui appaiono sulle pagine consecutive.
EDIT:. Per rendere le trame solo occupano un terzo della pagina, regolare l'altezza della trama nella chiamata a pdf
pdf(..., height = 3)
# ...
dev.off()
Per impostazione predefinita, questo attira ogni appezzamento al centro di ogni pagina. Impostando pagecentre = FALSE
, le trame appaiono nella parte inferiore di ogni pagina. Non ho trovato un'opzione in pdf
per farli apparire in alto.
Per ottenere un migliore controllo sul posizionamento delle trame, salvare prima loro di eps (con la funzione postscript
) o PNG.
Si può quindi utilizzare sweave
per creare un PDF formattato come più vi piace, compresi quei file. In alternativa, creare un documento in word processor di vostra scelta e importare manualmente i file di immagine.