Comment écrire des formules chimiques dans ggplot [duplicate]
J'ai besoin de tracer des données et l'un des tracés doit avoir la formule du sulfate (SO42-) dans les étiquettes.
J'utilise ce code
a=c(1,2,3,4,5)
b=c(1,2,3,4,5)
dd=data.frame(a,b)
G<-ggplot(dd)+
geom_line(x=a, y=b, color="blue")+
labs(x="Depth (m)", y=expression("nss SO"[4]^{2-}"(ppb)"))
G
Et, bien sûr, cela ne fonctionne pas: soit le - est écrit sous forme de tiret entre le 2 et le ppb, soit il ne fait simplement rien après m'avoir donné un mur de texte. Est-ce que je manque quelque chose?
Réponses
Tout d'abord, vous manquez le aes()composant de geom_line. Pour l'expression, vous n'atteignez pas tout à fait la syntaxe correctement. En utilisant les informations trouvées ici , j'ai pu créer ...
library(ggplot2)
a=c(1,2,3,4,5)
b=c(1,2,3,4,5)
dd=data.frame(a,b)
G <-ggplot(dd)+
geom_line(aes(x=a, y=b), color = 'blue') + # need to include aes() designation here
labs(x="Depth (m)", y=expression("nss SO" ["4"] ^"2-"*" (ppb)"))
G
J'espère que ça marche!
Essayez ceci aussi:
#Data
a=c(1,2,3,4,5)
b=c(1,2,3,4,5)
dd=data.frame(a,b)
#Code
G<-ggplot(dd,aes(x=a, y=b))+
geom_line(color="blue")+
labs(x="Depth (m)", y=expression(nss~SO[4]^{2^{"-"}}~(ppb)))
G
Production:
Ou ceci (profondément désolé pour ma connaissance des formules de chimie):
#Code 2
G<-ggplot(dd,aes(x=a, y=b))+
geom_line(color="blue")+
labs(x="Depth (m)", y=expression(nss~SO[4]^{"2-"}~(ppb)))
G
Production: