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 创建
我正在尝试在 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 创建