最简单的解决方案:使用Unicode字符
不需要expression
或需要其他软件包。
不知道这是否是ggplot的较新功能,但是它可以工作。它还使混合希腊文字和常规文字变得容易(例如在刻度线中添加“ *”)
只需在文本字符串中使用Unicode字符即可。似乎对我能想到的所有选项都有效。
编辑:以前它在构面标签中不起作用。显然,这一点已经解决。
library(ggplot2)
ggplot(mtcars,
aes(mpg, disp, color=factor(gear))) +
geom_point() +
labs(title="Title (\u03b1 \u03a9)", # works fine
x= "\u03b1 \u03a9 x-axis title", # works fine
y= "\u03b1 \u03a9 y-axis title", # works fine
color="\u03b1 \u03a9 Groups:") + # works fine
scale_x_continuous(breaks = seq(10, 35, 5),
labels = paste0(seq(10, 35, 5), "\u03a9*")) + # works fine; to label the ticks
ggrepel::geom_text_repel(aes(label = paste(rownames(mtcars), "\u03a9*")), size =3) + # works fine
facet_grid(~paste0(gear, " Gears \u03a9"))
由reprex软件包(v0.3.0)创建于2019-08-28
expression
此处的功能讨论:stackoverflow.com/questions/1395105/getting-latex-into-r-plots