使用 label_parsed 的表达式的 R 方面标签

R facet labels with expressions using label_parsed

我正在尝试使用 label_parsed 将表达式放入分面标签,但没有成功:

library(ggplot2)
mpg3 <- mpg
levels(mpg3$drv)[levels(mpg3$drv)=="4"] <- "4^{wd}"
levels(mpg3$drv)[levels(mpg3$drv)=="f"] <- "- Front %.% e^{pi * i}"
levels(mpg3$drv)[levels(mpg3$drv)=="r"] <- "4^{wd} - Front"


ggplot(mpg3, aes(x=displ, y=hwy)) + geom_point() +
  facet_grid(. ~ drv, labeller = label_parsed)

我得到的 plot 缺少表达式 - facet 标签包含 drv 变量的原始级别。

如果我输入 levels(mpg3$drv),我会得到 character(0)

有两个问题-首先mpg$drv是性格,不是因素,其次,你需要设置因素标签,而不是水平。我想这就是你想要的...

mpg3 <- mpg
mpg3$drv <- factor(mpg3$drv,
                   levels=c("4","f","r"),
                   labels=c("4^{wd}","- Front %.% e^{pi * i}","4^{wd} - Front"))

ggplot(mpg3, aes(x=displ, y=hwy)) + 
      geom_point() +
      facet_grid(. ~ drv, labeller = label_parsed)