Comment écrire des formules chimiques dans ggplot [duplicate]

Sep 15 2020

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

1 TTS Sep 15 2020 at 13:44

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!

1 Duck Sep 15 2020 at 13:46

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: