2012-08-27 13 views
5

Ho una trama mfrow=c(6,4) e una situazione speciale in cui voglio che ogni trama sia mar=c(1,1,1,1). In tal modo, lo x-axis e lo xlab dei 4 grafici inferiori vengono troncati (anche durante l'esportazione in .eps).Come arrestare la finestra del dispositivo grafico tagliando i bordi del grafico()?

Come si interrompe lo R? Ho provato a fare postscript("test.eps",height=N) dove N è un numero reale che è più grande del valore predefinito. Questo rende molto spazio bianco nella parte superiore e inferiore dello .eps ma lo x-axis è ancora tagliato.

Quindi la mia domanda è; come posso ottenere plot() per interrompere il taglio del mio x-axis e xlab dato il vincolo che voglio il mfrow e mar descritto sopra? (Sto cercando forse un modo per rendere il fondo del dispositivo più grande in modo tale che le cose che voglio non vengano troncate?).

Ecco la mia piazzole:

postscript("test.eps") 
y <- rnorm(100) 
x <- rnorm(100) 

par(mfrow=c(6,4),mar=c(1,1,1,1)) 

for(i in 1:((6*4))) 
{ 
    if(i <= (6*4)-4) 
    { 
    plot(y,x,xlab="",xaxt="n") 
    } 
    if(i > (6*4)-4) 
    { 
    plot(y,x,xlab="HELLO") 
    } 
} 
dev.off() 

risposta

3

vi consiglio di aggiungere un margine esterno (oma) di non tagliare le etichette delle tacche, e tracciare l'asse-label con mtext per ottenerlo più vicino di quanto la posizione di default.

postscript("test.eps") 
y <- rnorm(100) 
x <- rnorm(100) 

par(mfrow=c(6,4),mar=c(1,1,1,1), oma=c(3,1,0,0)) 

for(i in 1:((6*4))) 
{ 
    if(i <= (6*4)-4) 
    { 
    plot(y,x,xlab="",xaxt="n") 
    } 
    if(i > (6*4)-4) 
    { 
    plot(y,x,xlab="") 
    mtext("HELLO", 1, 2.5) 
    } 
} 
dev.off() 

enter image description here

Problemi correlati