在ggplot中粘贴带有上标的字符串

Paste string with superscript in ggplot

我正在尝试传递一个变量 toPaste,这是一个字符串,我希望它的一部分被上标。字符串:"this^2/that^+" 其中 2+ 需要上标。

我浏览了一下,似乎我需要重新格式化我的字符串,然后我可以 paste() 例如 bquote(),但是由于所需的上标嵌入在字符串,我不确定如何处理它。下面的示例脚本:

library(ggplot2)
toPaste <- "this^2/that^+"
ggplot() + ylab(toPaste)

如有任何帮助,我们将不胜感激。

您可以使用 latex2exp 将 LaTeX 用于此类内容

library(ggplot2)
library(latex2exp)

data("mtcars")

ggplot(mtcars, aes(x = disp, y = mpg)) +
  geom_point() +
  labs(title = TeX("Title: $\frac{this^{2}}{\that^{+}}$"))

reprex package (v2.0.1)

于 2022-05-26 创建

答案在bquote:

ggplot() + ylab(bquote(this^2/that^"+"))

另一种方法是使用 expression:

ggplot() + ylab(expression(this^2/that^"+"))

您可以使用以下内容:

toPaste <- "this^2/that^'+'"
ggplot() + ylab(parse(text = toPaste))

注意“+”号需要用单引号括起来