ggplot2轴标签上的数学符号

时间:2018-03-08 01:00:09

标签: r math ggplot2 label axis

我想使用ggplot2将数学符号添加到latex2exp轴,但我遇到了问题,因为scale_x_discrete()只接受新标签名称,因为它们在引号之间呈现TeX() {1}}函数,如下例所示,作为文本。如何在更改标签名称的同时包括数学符号?

  p<-ggplot(data=x, aes(x=y, y=x)) +
  geom_errorbar(aes(ymin=x-ci, ymax=x+ci)) +
  scale_x_discrete(breaks=c("label1","label2"),
               labels=c("TeX('$\\alpha^\\beta$')","newlabel2")) 
  p

1 个答案:

答案 0 :(得分:1)

从包创建者处查看此小插图:

https://cran.r-project.org/web/packages/latex2exp/vignettes/using-latex2exp.html

scale_color_discrete(labels=lapply(sprintf('$\\alpha = %d$', alpha), TeX))

代码:

p<-ggplot(data=x, aes(x=y, y=x)) +
geom_errorbar(aes(ymin=x-ci, ymax=x+ci)) +
scale_x_discrete(breaks=c("label1","label2"),
               labels = lapply(sprintf('$\\alpha^\\beta$'), TeX)
p

如果您的数学符号不是很复杂,另一个选项是使用bquote和UTF代码:

mn <- bquote("\u03B1 \u03B2")
labels=c(mn, "newlabel2")