У меня та же проблема, что и этот пользователь. У меня есть "зубчатый" граненый сюжет, в котором нижняя строка имеет меньше панелей, чем другие строки, а я хотелось бы, чтобы в нижней части каждого столбца были отметки оси х.
Предлагаемое решение этой проблемы состояло в том, чтобы установить scales="free_x"
. (В ggplot 0.9.2.1, я считаю, что поведение, которое я искал, было дефолтом в более ранних версиях.) Это плохое решение в моем случае: мои метки фактической оси будут довольно длинными, поэтому помещать их под каждую строку будет слишком много комната. Результаты выглядят примерно так:
x <- gl(3, 1, 15, labels=paste("this is a very long axis label ", letters[1:5]))
y <- rnorm(length(x))
l <- gl(5, 3, 15)
d <- data.frame(x=x, y=y, l=l)
ggplot(d, aes(x=x, y=y)) + geom_point() + facet_wrap(~l, scales="free_x") +
theme(axis.text.x=element_text(angle=90, hjust=1))
В комментарии здесь, Андри предлагает, что это можно сделать вручную в grid
, но я понятия не имею, как начать с этого.