【问题标题】:How to add greek letters to Facet_Grid strip labels?如何将希腊字母添加到 Facet_Grid 条形标签?
【发布时间】:2020-08-25 19:10:04
【问题描述】:

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

【问题讨论】:

  • 嗨,OP,请通过dput(your_data_frame) 上传您的数据和您的绘图代码,以便我们提供帮助。

标签: r ggplot2 legend facet facet-grid


【解决方案1】:

如果您将分面变量编码为字符绘图表达式,您可以使用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 年 8 月 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, aes(Var1, Var2)) +
  geom_point() +
  facet_grid(glue('mu[2]*" = {FacetY}"') ~ glue("'p = {FacetX}'"), 
             labeller = label_parsed)

reprex package (v0.3.0) 于 2020 年 8 月 26 日创建

【讨论】:

  • 感谢您的意见。鉴于 mu2 和 p 是数字列,我如何将它们编码为字符绘图表达式?我多次重复这个网格,手动生成这些表达式会很耗时。
  • 您可以在 facet 规范中评估它们,请参阅编辑。
猜你喜欢
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 2020-07-15
  • 2011-08-28
  • 1970-01-01
相关资源
最近更新 更多