2012-05-23 2 views
7

consideri il seguente esempio:spaziatura in etichetta dell'asse quando si utilizza l'espressione (pasta (...))

plot(c(2,4,6)~c(1,2,3),xlab="x", 
ylab=expression(paste('flux (g ',CO[2]~m^{-2}~h^{-1},')'))) 

Ovviamente voglio uno spazio pieno tra "g" e "CO", ma per qualche ragione io ottenere uno spazio più piccolo (con alcune etichette anche pari a zero) nell'etichetta del grafico.

Il problema è ancora più evidente, se lo faccio in questo modo:

plot(c(2,4,6)~c(1,2,3),xlab="x", 
ylab=expression(paste('flux (g C',O[2]~m^{-2}~h^{-1},')'))) 

Sto facendo qualcosa di sbagliato? C'è un modo per aggiustare la spaziatura o anche un modo migliore per creare etichette con molti sub/apici e lettere greche?

+1

è 'ylab = espressione ("flusso" ~ (g ~ CO [2] ~ m^{- 2} ~ h^{- 1}))) 'meglio? (che significa: perché usi pasta?) – baptiste

+0

no, non è meglio perché poi lo spazio dopo il flusso è troppo piccolo. – Roland

+0

non so, mi sembra che la spaziatura sia corretta. Prova a dirci il tuo sistema operativo, il dispositivo grafico e uno screenshot. Inoltre, vedi se il seguente mostra una spaziatura crescente: 'library (grid); grid.text (espressione (flux * (g ~ CO [2] ~ m^{- 2} ~ h^{- 1}), flux ~ (g ~ CO [2] ~ m^{- 2} ~ h^{-1}), flusso ~~ (g ~ CO [2] ~ m^{- 2} ~ h^{- 1})), y = unità (0,5, "npc") + unità (0: 2, "linee")) ' – baptiste

risposta

7

Con ogni probabilità si è ottenere uno "spazio" tipograficamente corretto, nel carattere che il sistema operativo utilizza per la visualizzazione non-serif. È possibile modificare i caratteri oppure è possibile inserire uno spazio vuoto che è sufficiente per tenere una particolare stringa di caratteri con plotmath phantom():

plot(c(2,4,6)~c(1,2,3),xlab="x", 
    ylab=expression(paste('flux',phantom(x),'(g ',CO[2]~m^{-2}~h^{-1},')'))) 

O come @baptiste sottolinea questo può essere fatto senza plomath paste uso di separatori plotmath ordinarie perché una tilde in una vera espressione R viene trattato come uno "spazio":

 ylab=expression(flux*phantom(x)*(g~CO[2]~m^{-2}~h^{-1})))