Я создал многогранный сюжет, отдельно для трех различных групп в моих данных, например, так:Align gridArranged фасеточного ggplots
df <- data.frame(x=rep(seq(0.05,1,by=0.05),times=40),
y=sample(c('A','B'),20*40,replace=TRUE),
id=rep(1:40,each=20),
group=c(rep(1,20*12),rep(2,20*12),rep(3,20*16)))
g1 <- ggplot(df[df$group==1,],aes(x,y,group=id))
g1 <- g1 + geom_line()
g1 <- g1 + facet_wrap(~id,ncol=3)
g2 <- ggplot(df[df$group==2,],aes(x,y,group=id))
g2 <- g2 + geom_line()
g2 <- g2 + facet_wrap(~id,ncol=3)
g3 <- ggplot(df[df$group==3,],aes(x,y,group=id))
g3 <- g3 + geom_line()
g3 <- g3 + facet_wrap(~id,ncol=3)
grid.arrange(g1,g2,g3,nrow=1)
, который дает мне это:
Как вам можно видеть, что число фассов отличается от трех групп, что означает, что грани в трех столбцах имеют разную высоту. Есть ли способ гармонизировать эту высоту не-хрупким способом (т.е. без необходимости вручную определять высоты столбцов 2 и 3, которые дают мне грани, которые выглядят примерно одинаково)?
Я только что сделал это полностью воспроизводимым. 'drop = FALSE' не работает, потому что нет никаких' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' И если я правильно понимаю 'facet_grid', что только позволяет мне иметь сюжет с тремя столбцами (по одному для каждой группы), и как бы ни было много строк, мне нужно подогнать все' id '. Это верно? – RoyalTS
Имеет ли переменная 'group' аналитическое значение, или она просто включена для разделения графиков на столбцы? – Noah
Кроме того, я считаю, что вы правы, да. – Noah