如何在ggplot2中使用数学表达式创建多行x轴标题

时间:2017-12-21 02:17:49

标签: r ggplot2 plotmath

xlab(expression(paste("CO"^"2", " concentration", "\n Lolium perenne")))

这是我目前的编码。 使用我的xlab,我希望在一条线上有CO ^ 2浓度,然后" Lolium perenne"在它下面,但它也需要用斜体字。目前这个代码放置了#34;浓度"在上面的线上" CO ^ 2"和" Lolium Perenne"。 请帮忙!

1 个答案:

答案 0 :(得分:1)

让我们把它变成一个可重复的例子,然后用@Brian建议的方法回答。

以下不起作用。 x轴标题全部在一行:

library(ggplot2)
set.seed(124)
d <- data.frame(x = rnorm(50),
                y = rnorm(50))

ggplot(d, aes(x, y)) + geom_point() +
  xlab(expression(paste("CO"^"2", " concentration", "\n Lolium perenne")))

enter image description here

但是,使用atop()函数,我们可以获得此结果:

ggplot(d, aes(x, y)) + geom_point() +
  xlab(expression(atop(CO[2]*" concentration", italic("Lolium perenne"))))

enter image description here

我们使用italic()函数以斜体字排版“Lolium perenne”。我们还用下标写了二氧化碳,这可能就是这里需要的。