2013-10-14 19 views
7

Non riesco a impostare correttamente la posizione della legenda, ho provato a giocare con xjust e ncol ma appare ancora nel mezzo dell'immagine.R: posizionamento della legenda e lunghezza delle righe nella legenda

Potete aiutarlo ad allinearlo al bordo (a sinistra oa destra non mi interessa)?

Inoltre è possibile disegnare linee più brevi nella legenda? Questi appaiono troppo a lungo.

par(mar=c(5,4,4,5)+.1) 
plot(1:109,rnorm(109), type="l",col="blue", lwd=2, 
     main="Compare signal and std deviation MC3 ch44", 
     ylab="signal", xlab="locations") 
par(new=TRUE) 
plot(1:109, rnorm(109), ylab="",xlab="", type="l", 
     col="red",xaxt="n",yaxt="n", lwd=2) 
axis(4) 
mtext("std. deviation",side=4,line=3) 
legend("topright",col=c("blue", "red"), lwd=2, 
     legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1) 
+1

Viene visualizzato nell'angolo in alto a destra quando eseguo il codice. Magari iniziare una sessione R pulita e riprovare. – Thomas

+0

Lo zoom in R-Studio lo mostra molto più centrato rispetto a dopo l'esportazione in .pdf, probabilmente a causa del fattore di scala della trama (?) Ma è possibile tracciare una linea più breve nella legenda? Impossibile trovare l'opzione ovunque .. – Irene

+1

Prova l'argomento 'seg.len' in' legend'. – Henrik

risposta

6

Come sottolineato nei commenti riavvio di una sessione di R e utilizzando

legend("topright",col=c("blue", "red"), lwd=2, 
legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1, seg.len=0.5) 

risolto i miei problemi.

+2

È spesso vero che legende e testo verranno visualizzati nella posizione "errata" se si modifica la dimensione della finestra di stampa dopo la stampa. È preferibile impostare prima le dimensioni della finestra se si desidera un rapporto aspetto specifico. Per esempio. 'Dev.new (larghezza = 3, altezza = 9)' –

Problemi correlati