voglio tracciare un'etichetta che assomiglia a questo in ggplot2
: Value is $\sigma$, R^{2} = 0.6
dove Value is
è di carattere ordinario, $\sigma$
è una lettera sigma minuscola greca e R^{2} = 0.6
appare come un R
con un apice 2
seguito da un segno di uguale (=
) seguito da 0.6
. Come può essere usato in ggplot factor
s e in argomenti come xlab,ylab
di R? Grazie.mettendo simboli matematici e pedici mescolati con le lettere regolari in R/ggplot2
risposta
Qualcosa di simile a questo:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab(expression(paste("Value is ", sigma,",", R^{2},'=0.6')))
EDIT
Un'altra opzione è quella di utilizzare annotate
con parse=T
:
g+ annotate('text', x = 0, y = 0,
label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20)
EDIT
La soluzione paste
può essere utile se la costante 0 viene calcolata durante la stampa.
r2.value <- 0.90
g+ xlab(expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
Un po 'più semplice di pasta() potrebbe essere:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab(expression(Value~is~sigma~R^{2}==0.6))
Generalmente paste
e tutti quegli apici accoppiati non sono necessari se si utilizzano i connettivi plotmath adeguate. Anche se vuoi il testo che altrimenti creerebbe una lettera greca, tutto ciò che devi fare è racchiuderlo tra virgolette con uno *
o ~
su ciascun lato. Un problema con l'offerta di paste
ai nuovi arrivati per l'espressione plotmath è che pensano che sia lo stesso di paste
nel resto della lingua.
Penso che l'argomento 'etichette' per annotare prende una modalità carattere Si può cercare quale valore Unicode 'sigma' potrebbe avere nel font sans-serif che si è installato. –
Nota a margine per utenti reticolari: questa soluzione funziona anche per la trama reticolare. .i.e 'xyplot (y ~ x, dat = data.frame (x = 0, y = 0), xlab = espressione (Valore ~ è ~ sigma ~ R^{2} == 0,6))' – agstudy
Se si desidera che sigma tenti di utilizzare '\ u03c3' –
Bad Mac? Prova con 'x = 0,25, y = 0,25'. Cancellando il mio commento errato su non aver bisogno di 'parse = TRUE'. –
@DWin ok. Ottengo lo stesso comportamento con 'x = 0,25, y = 0,25'. Ma con parse = F, ottengo sigma con questo \ u03c3 ma anche con ~ – agstudy