ggplot轴标签中的数学(设置)符号

时间:2020-05-04 16:48:59

标签: r ggplot2 symbols

我正在尝试将数学符号包括在ggplot轴标签中。考虑以下代码。

library(ggplot2)
df <- data.frame(dose=c("D0.5", "D1", "D2"), len=c(4.2, 10, 29.5))
ggplot(data=df, aes(x=dose, y=len, group=1)) +
  ylab("length")+
  geom_line()+
  geom_point()

我现在想将len ("Length")的范围用符号Length ∈ [0, 10]包括在y轴描述中,但是找不到找到将“ element of”符号添加到标签中的方法。 / p>

2 个答案:

答案 0 :(得分:2)

有一篇很棒的帖子here经历了不同的方式,在这里我使用expression

ggplot(data=df, aes(x=dose, y=len, group=1)) +
  ylab("length")+
  geom_line()+
  geom_point() +
  ylab(expression("Length " ~ epsilon ~ " [0, 10]"))

编辑: 由于元素of的符号为\in,因此由于in是内置函数,因此表达式代码不起作用。可能有解决方法,但我不得不使用latex2exp程序包

library(latex2exp)


ggplot(data=df, aes(x=dose, y=len, group=1)) +
  ylab("length")+
  geom_line()+
  geom_point() +
  ylab(TeX(sprintf("Length $\\in$ \\[0, 10\\]")))

答案 1 :(得分:0)

对于特殊符号,可以通过转义字符\U####引用其Unicode值。 ∈是Unicode(U + 2208),因此可以使用\U2208粘贴∈符号。

所以:

> 'Length \U2208 [0, 10]'
[1] "Length ∈ [0, 10]"

然后您只需在绘图代码中使用ylab('Length \U2208 [0, 10]')

相关问题