我正在尝试删除ggplot中的facet strip,但是我收到了一个错误。根据现有帮助,执行此操作的方法是将主题参数strip.background
和strip.text
设置为element_blank()
。但是,当我这样做时,我收到一个错误:
应用中出错(strip_mat,1,max_height):dim(X)必须具有正长度
这是一个可重复的例子。
library(ggplot2)
gdat = data.frame(a = rep(LETTERS[1:10], 10), x = rnorm(100), y = rnorm(100))
g = ggplot(gdat, aes(x = x, y = y)) + geom_point()
g = g + facet_wrap(~a)
g = g + theme(strip.background = element_blank(), strip.text = element_blank())
g
你能帮我理解我做错了什么吗?我使用的是R Open 3.4.0和ggplot2 2.2.1.9。
答案 0 :(得分:1)
一种解决方案是将构面标签颜色设置为透明(使用element_text(color = "transparent")
)或将标签尺寸设置为0
element_text(size = 0)
。要删除面板之间的间距,请使用panel.spacing
(在这种情况下,我在y
轴上减少间距)。
library(ggplot2)
d <- data.frame(a = rep(LETTERS[1:10], 10), x = rnorm(100), y = rnorm(100))
ggplot(d, aes(x, y)) +
geom_point() +
facet_wrap(~ a) +
theme(strip.background = element_blank(),
strip.text = element_text(color = "transparent"),
panel.spacing.y = unit(-0.8, "lines"))