如何将希腊字母添加到 Facet_Grid 条形标签?

How to add greek letters to Facet_Grid strip labels?

我使用 facet_grid 创建了下面的图,并使用 labeller 参数将“p=”和“mu[2]”标签添加到网格周围的灰色条带上。我想用带有下标 2 的希腊字母 mu 替换我用红色矩形表示的“mu[2]”标签。如果有人能帮助我,我将不胜感激。如果需要,我可以上传数据和我的代码。

如果将分面变量编码为字符绘图数学表达式,则可以使用 label_parsed() 作为分面的标签参数。示例如下:

library(ggplot2)

df <- expand.grid(1:3, 1:3)
df$FacetX <- c("'p = 0.1'", "'p = 0.5'", "'p = 0.9'")[df$Var1]
df$FacetY <- c('mu[2]*" = 0.1"', 'mu[2]*" = 1"', 'mu[2]*" = 10"')[df$Var2]

ggplot(df, aes(Var1, Var2)) +
  geom_point() +
  facet_grid(FacetY ~ FacetX, labeller = label_parsed)

reprex package (v0.3.0)

于 2020-08-26 创建

编辑:

根据您对变量编码为数字的评论,我认为 glue 包可能会帮助您构建这些标签。

library(ggplot2)
library(glue)

df <- expand.grid(1:3, 1:3)
df$FacetX <- c(0.1, 0.5, 0.9)[df$Var1]
df$FacetY <- c(0.1, 1, 10)[df$Var2]

ggplot(df, aes(Var1, Var2)) +
  geom_point() +
  facet_grid(glue('mu[2]*" = {FacetY}"') ~ glue("'p = {FacetX}'"), 
             labeller = label_parsed)

reprex package (v0.3.0)

于 2020-08-26 创建