ggplot facet_grid标签上标

时间:2016-02-12 05:22:15

标签: r ggplot2

我在下标facet_grid标签时遇到问题。这是 我一直在努力做的工作的一个例子。

df <- data.frame(species=gl(2,10,labels=c('sp1','sp2')),
                 age=sample(3:12,40,replace=T),
                 variable=gl(2,20,labels=c('N1P1 var','N2P1 var')),
                 value=rnorm(40))

test.plot <- ggplot(data=df,aes(x=age,y=value)) +
             geom_point() +
             facet_grid(variable~species)

现在我想通过垂直构面标签来制作&#39; N [1] P [1] var&#39;等等, 方括号中的数字表示下标。

我在这个平台上咨询了一些有关此问题的帮助,但没有人帮助过我。我按照建议使用了expressionbquote,但没有任何效果!

1 个答案:

答案 0 :(得分:4)

你需要做两件事: 首先,将您的标签设为plotmath表达式

variable_labels <- 
  c(expression(paste(N[1],P[1]~var)), expression(paste(N[2],P[1]~var)))

df <- data.frame(species=gl(2,10,labels=c('sp1','sp2')),
                 age=sample(3:12,40,replace=T),
                 variable=gl(2,20,labels=variable_labels),
                 value=rnorm(40))

然后将facet_grid中的默认贴标机功能更改为"label_parsed"

test.plot <- ggplot(data=df,aes(x=age,y=value)) +
  geom_point() +
  facet_grid(variable~species, labeller = "label_parsed")

Resulting plot