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

时间:2018-06-10 14:10:54

标签: r ggplot2 label facet

我尝试使用label_parsed将表达式放入facet标签但没有成功:

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)

1 个答案:

答案 0 :(得分:1)

有两个问题 - 首先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)

enter image description here