2

也许我不正确,但在我看来,以上标开头的表达式中有一个不需要的空格:

df <- data.frame(treatment=as.factor(c("A", "B")), value=c(1,2))

labels <- c(expression(""^14~CH[4]),
            expression(""^14~CH[4]~"+"~"SO"[4]^{2-''}))

library(ggplot2)
ggplot(df, aes(treatment, value)) +
  geom_bar(stat="identity") +
  scale_x_discrete(labels=labels)

我可以去 Photoshop 来减少上标 14 和“C”之间的空间,但也许有办法在 plotmath 中?请注意,这在最后带有上标的第二个表达式中没有发生。在此处输入图像描述

4

1 回答 1

3

在表达式中,~为您在术语之间留出一个空格。如果您不想在术语之间有空格,可以使用*. 结束上标前面没有 a ~,所以没有空格。

您还可以删除大部分引号 - 除非有特殊字符或空格,否则这些都是不必要的。

所以你的表情可以变成

expression(''^14*CH[4]~+~SO[4]^'2-')
于 2017-01-17T15:55:43.440 回答