gpt4 book ai didi

r - 使用 ggplot2 >= 2.0 中的标签器混合空和 bquote-d 方面标签

转载 作者:行者123 更新时间:2023-12-04 12:29:36 25 4
gpt4 key购买 nike

在 2.0 之前,在 ggplot2 中我可以使用 element_blanklabeller仅标记 facet_grid 中的行或列, 喜欢:

library(ggplot2)
g <- ggplot(mtcars) + geom_point(aes(mpg, cyl))
g + facet_grid(vs ~ gear, labeller=labeller(vs = element_blank(),
gear = label_bquote(mu == .(x))))

现在,与 ggplot2 2.0 版,这不起作用,给
Error in if (attr(labels, "facet") == "wrap") { :
argument is of length zero
Calls: <Anonymous> ... lapply -> FUN -> <Anonymous> -> x -> resolve_labeller

虽然 improvements to label_bquote 很棒,有什么方法可以使上述工作与 labeller 一起使用?

我试过:

1) 路过 NULL ,但构面默认为 label_value (根据 ?label_bquote )
  g + facet_grid(vs ~ gear,
labeller = label_bquote(
rows = NULL,
cols = mu == .(gear)))

2)路过 element_blank但方面说 element_blank()
g + facet_grid(vs ~ gear,
labeller = label_bquote(
rows = element_blank(),
cols = mu == .(gear)))

3) 包装 element_blankas_labeller
g + facet_grid(vs ~ gear, labeller=labeller(.rows = as_labeller(element_blank()),
.cols = label_bquote(mu == .(gear))))

备注 可以到 remove facet labels after the fact using theme
g + facet_grid(vs ~ gear,
labeller = label_bquote(cols = mu == .(gear))) +
theme(strip.text.y = element_blank())

但我想用 labeller 来做这件事.

最佳答案

你可以做rows=""rows = ` ` .这将摆脱标签,但您仍然会有一个空白的灰色 strip 。

为了清楚起见,这是完整的命令:

 g + facet_grid(vs ~ gear,
labeller = label_bquote(rows = "",
cols = mu == .(gear)))

您当然也可以通过添加 theme(strip.text.y = element_blank()) 来去除灰色 strip 。 .

关于r - 使用 ggplot2 >= 2.0 中的标签器混合空和 bquote-d 方面标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586853/

25 4 0