ggplot facet_grid标签上标

Har*_*hid 2 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)
Run Code Online (Sandbox Code Playgroud)

现在,我想通过垂直构面标签将其制作为“ N [1] P [1] var”,依此类推,其中方括号中的数字表示下标。

我已经在此平台上咨询了一些帮助,但是没有一个帮助我。我已经使用expressionbquote作为建议,但没有工作!

ins*_*ven 5

您需要做两件事:首先,将标签设为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))
Run Code Online (Sandbox Code Playgroud)

然后将默认的标签程序功能更改facet_grid"label_parsed"

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

结果图