對於ggplot V2.1.0或更高版本,使用element_blank()
刪除不需要的元素:
library(MASS) # To get the data
library(ggplot2)
qplot(
week,
y,
data = bacteria,
group = ID,
geom = c('point', 'line'),
xlab = '',
ylab = ''
) +
facet_wrap(~ ID) +
theme(
strip.background = element_blank(),
strip.text.x = element_blank()
)
在這種情況下,你想刪除的元素被稱爲strip
。
替代使用ggplot GROB佈局
在舊版本的ggplot
(V2.1.0)之前,條帶文字在gtable佈局佔據的行。
element_blank
刪除文本和背景,但它不會刪除該行佔據的空間。
此代碼從佈局中移除這些行:
library(ggplot2)
library(grid)
p <- qplot(
week,
y,
data = bacteria,
group = ID,
geom = c('point', 'line'),
xlab = '',
ylab = ''
) +
facet_wrap(~ ID)
# Get the ggplot grob
gt <- ggplotGrob(p)
# Locate the tops of the plot panels
panels <- grep("panel", gt$layout$name)
top <- unique(gt$layout$t[panels])
# Remove the rows immediately above the plot panel
gt = gt[-(top-1), ]
# Draw it
grid.newpage()
grid.draw(gt)
其他人正在應用錯誤(strip_mat,1,max_height): dim(X)必須具有正長度嗎? – PatrickT