带有使用 label_parsed 的表达式的 R 分面标签

bal*_*n16 0 label r facet ggplot2

我尝试使用 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)
Run Code Online (Sandbox Code Playgroud)

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

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

And*_*tar 6

有两个问题 - 首先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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述