ggplot中的轴标签规格

问题描述 投票:2回答:3

我正在尝试使用两行y轴标签,该标签在ggplot中包含上标,但我正在努力。

我希望y轴标签说“ [3H] ASEM结合(pmol / g)”,并在上一行加上3的上标和(pmol / g)。

这是我到目前为止尝试过的:

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

并且给我错误“意外字符串常量”

有什么建议吗?

r ggplot2 axis-labels
3个回答
2
投票

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

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

enter image description here

另一个替代方法是:

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

1
投票

我不太确定您在使用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))
  )

1
投票

这是您的追求吗?

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"))

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9DbTRhOTdPLnBuZyJ9” alt =“”>

reprex package(v0.3.0)在2020-05-19创建

© www.soinside.com 2019 - 2024. All rights reserved.