ggplot 中的轴标签规范

Axis label specifications in ggplot

我正在尝试在 ggplot 中创建一个包含上标的两行 y 轴标签,但我遇到了困难。

我希望 y 轴标签显示“[3H]ASEM 绑定 (pmol/g)”,上标 3 和 (pmol/g) 在单独的一行中。

这是我目前尝试过的方法:

labs(x="", y=expression(paste("[" ^3 "H] ASEM Binding \n (pmol/g)"))) 

它给了我错误 "unexpected string constant"

有什么建议吗?

我不太确定你在用你的 for 循环做什么,但这个代码块应该让你得到你正在寻找的带有上标的双线轴标签。

library(tidyverse)

sample_data <- tibble(x = rnorm(1000),
       y = x^2)

sample_data %>%
  ggplot(aes(x, y)) +
  geom_point() +
  labs(
    x = "X",
    y = expression(atop("Variable", X^2))
  )

您需要在 ^3 之前有一个空的 ''(2 个单引号)。

  ggplot(sample_data, aes(x, y)) +
  geom_point() +
  labs(
    x = "",
    y = expression(atop(paste("[", ''^3, "H] ASEM Binding"), "(pmol/g)"))
  )

另一种选择是:

y = expression(atop("["^3*"H] ASEM Binding", "(pmol/g)"))

这就是你想要的吗?

library(ggplot2)

ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
  geom_point()+
  labs(x = "",
       y = expression(atop("[ "^3*H~"] ASEM Binding", "(pmol/g)")))+
  theme(plot.margin = unit(c(10, 10, 20, 10), "mm"))

reprex package (v0.3.0)

于 2020-05-19 创建