在 2.0 之前,在 ggplot2 中我可以使用element_blank
and labeller
仅标记行或列facet_grid
, like:
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
虽然改进label_bquote https://blog.rstudio.org/2015/12/21/ggplot2-2-0-0/太棒了,有什么办法可以使上述工作与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_blank
in as_labeller
g + facet_grid(vs ~ gear, labeller=labeller(.rows = as_labeller(element_blank()),
.cols = label_bquote(mu == .(gear))))
Note有可能使用主题事后删除方面标签 https://stackoverflow.com/questions/10547487/r-removing-facet-wrap-labels-completely-in-ggplot2
g + facet_grid(vs ~ gear,
labeller = label_bquote(cols = mu == .(gear))) +
theme(strip.text.y = element_blank())
但我想用一个labeller
.