我只想用“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)'))
答案 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)'))