2015-07-09 15 views
11

Voglio sapere se esiste un modo per definire la dimensione di un grafico in R, quando si tracciano grafici diversi usando il par (mfrow = c()) funzione.Modifica la dimensione di un grafico quando si tracciano più trame in R

Come semplice esempio prendere questo:

par(mfrow = c(3,1)) 
plot(1:2) 
plot(1:2) 
plot(1:2) 

Tutte le piazzole avranno la stessa dimensione.

È possibile, ad esempio, che le dimensioni della terza trama siano diverse? Ad esempio, rende la metà delle dimensioni degli altri grafici?

Se io uso questo:

par(mfrow = c(3,1)) 
plot(1:2) 
plot(1:2) 
plot(1:2, ylim =c(0,1)) 

I cambiamenti asse ylim ma non la dimensione della trama.

Grazie.

+3

io uso '' layout' di layout (matrice (c (1,1,2,3,4,4), nrow = 3, ncol = 2, byrow = TRUE)) 'darti 1 grande + 2 piccolo + 1 grande grafico – Batanichek

+0

Grazie per la rapida risposta. Esplorerò quella funzione. Potresti fornire un semplice esempio? – Javier2013

+1

Prova ad esempio 'layout (matrice (c (rep (1, 4), rep (2, 4), 0, 3, 3, 0), nrow = 3, byrow = T))' per avere 2 "pieno" trame e una trama più piccola centralizzata con metà della larghezza degli altri. – Molx

risposta

14

Prova layout ad esempio

layout(matrix(c(1,1,2,3,4,4), nrow = 3, ncol = 2, byrow = TRUE)) 
plot(1,main=1) 
plot(2,main=2) 
plot(3,main=3) 
plot(4,main=4) 

enter image description here

layout(matrix(c(1,1,2,1,1,2,3,4,4), nrow = 3, ncol = 3, byrow = TRUE)) 
plot(1,main=1) 
plot(2,main=2) 
plot(3,main=3) 
plot(4,main=4) 

darvi enter image description here

Inoltre è possibile utilizzare par(fig=) ad esempio

par(mar=c(2,2,2,1)) 
par(fig=c(0,7,6,10)/10) 
plot(1,main=1) 
par(fig=c(7,10,6,10)/10) 
par(new=T) 
plot(2,main=2) 
par(fig=c(0,7,0,6)/10) 
par(new=T) 
plot(3,main=3) 
par(fig=c(7,10,0,6)/10) 
par(new=T) 
plot(4,main=4) 

darà

ma credo layout migliore per l'uso

+0

Ma per rispondere alle mie domande, è possibile, ad esempio, tracciare il numero 4 metà dell'altezza del diagramma numero 1? – Javier2013

+0

Penso che dovresti aggiungere un esempio usando '0' per mantenere uno spazio e dare il risultato che l'OP vuole. – Molx

+1

Modifica la mia risposta per "trama numero 4 metà altezza del diagramma numero 1" – Batanichek

Problemi correlati