问题描述
我使用facet_grid
创建了下面的图,并使用了labeller
参数在网格周围的灰色条带中添加了“ p =“和“ mu [2]”标签。我想将用红色矩形表示的“ mu [2]”标签替换为带有下标2的希腊字母mu。如果有人可以帮助我,我将不胜感激。如果需要,我可以上传数据和代码。
解决方法
如果您将构面变量编码为字符标绘表达式,则可以使用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创建
编辑:
根据您的评论,即变量被编码为数字,我认为胶包装可以帮助您构造这些标签。
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,Var2)) +
geom_point() +
facet_grid(glue('mu[2]*" = {FacetY}"') ~ glue("'p = {FacetX}'"),labeller = label_parsed)
由reprex package(v0.3.0)于2020-08-26创建