首页 > 解决方案 > 带有使用 label_parsed 的表达式的 R 方面标签

问题描述

我正在尝试使用 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)

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

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

标签: rggplot2labelfacet

解决方案


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

在此处输入图像描述


推荐阅读