web-dev-qa-db-fra.com

Mettre des symboles mathématiques et des indices mélangés avec des lettres régulières

Je veux tracer une étiquette qui ressemble à ceci dans ggplot2:

Value is $\sigma$, R^{2} = 0.6Value is est une police ordinaire, $\sigma$ est une lettre sigma grecque minuscule et R^{2} = 0.6 apparaît sous la forme d'un R avec un exposant 2 suivi d'un signe égal (=) suivi par 0.6. Comment cela peut-il être utilisé dans ggplot factors et dans des arguments comme xlab,ylab de R?

50
user248237

Quelque chose comme ça :

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')))

MODIFIER

Une autre option consiste à utiliser annotate avec parse=T:

g+ annotate('text', x = 0, y = 0, 
        label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20) 

enter image description here

MODIFIER

La solution paste peut être utile si la constante 0,6 est calculée pendant le traçage.

r2.value <- 0.90
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
55
agstudy

Un peu plus simple que paste () pourrait être:

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))

En général, paste et toutes ces citations appariées ne sont pas nécessaires si vous utilisez les bons connecteurs de plotmath. Même si vous voulez le texte qui créerait autrement une lettre grecque, tout ce que vous avez à faire est de le mettre entre guillemets avec un * ou ~ de chaque côté. Un problème avec l'offre de paste aux nouveaux arrivants pour les expressions plotmath est qu'ils pensent alors que c'est la même chose que paste dans le reste du langage.

39
42-