ggplot2轴标题,连续上标操作符号(+, - )

时间:2017-01-09 14:23:45

标签: r ggplot2

我只想用“2+”上标来写Fe2 +。

这有效(“+2”是上标,但序列错误):

df <-data.frame(a=seq(1,20),b=seq(1,20))
ggplot(df, aes(x = a, y = b)) + geom_point() +
  xlab(expression(Fe^{+2} ~ (mu ~ M)))

这不是:

ggplot(df, aes(x = a, y = b)) + geom_point() +
  xlab(expression(Fe^{2+} ~ (mu ~ M)))
显然,{2+}中“2”之后的“+”运算符需要特殊处理。任何帮助表示赞赏。

Alernatively,如果有人可以解决以下表达式的相同问题,我会很高兴:

ggplot(df, aes(x = a, y = b)) + geom_point() +
xlab(bquote(Fe^2+~' '~'('*mu~'M)'))

1 个答案:

答案 0 :(得分:1)

这是一个快速的解决方法。看起来+在某些时候被解析,并且由于没有右侧而抛出错误。因此,添加一个空参数可以解决问题:

ggplot(df, aes(x = a, y = b)) + geom_point() +
  xlab(expression(Fe^{2+''}~(mu ~ M)))

加号仍然会在标签中出现,所以我不确定解析在哪里发生。

同样的基本方法也适用于bquote版本:

ggplot(df, aes(x = a, y = b)) + geom_point() +
  xlab(bquote(Fe^{2+''}~' '~'('*mu~'M)'))