【问题标题】:ggplot2 axis title with successively superscripted operator signs (+, -)ggplot2 轴标题,带有连续上标的运算符符号(+,-)
【发布时间】:2017-01-09 14:23:45
【问题描述】:

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

这行得通(“+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”之后的“+”运算符需要特殊处理。任何帮助表示赞赏。

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

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

【问题讨论】:

标签: r ggplot2


【解决方案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)'))

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 2012-08-21
    • 2014-02-12
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多