如何在ggplot中写化学式

How to write chemical formulas in ggplot

我需要绘制一些数据,其中一张图的标签中必须包含硫酸盐分子式 (SO42-)。

我正在使用这个代码

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

而且,当然,它不起作用:要么将 - 写成 2 和 ppb 之间的破折号,要么在给我一大堆文字后它什么也没做。我错过了什么吗?

首先,您缺少 geom_lineaes() 组件。对于表达式,您没有完全正确地使用语法。使用找到的信息 here,我能够创建....

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

希望有用!

也试试这个:

#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

输出:

或者这个(对我的化学公式知识深感抱歉):

#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

输出: