Я пытаюсь построить произвольное количество барных закладок с rmarkdown, разделенных двумя столбцами. В моем примере будет 20 всего участков, так что я в надежде получить 10 участков в каждой колонке, однако, я не могу показаться, чтобы получить эту работу с grid.arrange
произвольное количество графиков для grid.arrange
plot.categoric = function(df, feature){
df = data.frame(x=df[,feature])
plot.feature = ggplot(df, aes(x=x, fill = x)) +
geom_bar() +
geom_text(aes(label=scales::percent(..count../1460)), stat='count', vjust=-.4) +
labs(x=feature, fill=feature) +
ggtitle(paste0(length(df$x))) +
theme_minimal()
return(plot.feature)
}
plist = list()
for (i in 1:20){
plist = c(plist, list(plot.categoric(train, cat_features[i])))
}
args.list = c(plist, list(ncol=2))
do.call("grid.arrange", args.list)
Когда я вязать это HTML я м получает следующий вывод:
Я надеялся, я хотел бы получить что-то вдоль линий:
, но даже с этим размеры фигуры по-прежнему напуганы, я пробовал играть с heights
и widths
, но все равно не повезло. Извините, если это длинный вопрос
Проверьте это: http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_(ggplot2)/ – GarAust89
'grid.arrange (grobs = lapply (1:20, функция (i) ggplot()), ncol = 2) 'должен работать, но вам нужно изменить размер устройства, чтобы ясно видеть графики и легенды. – baptiste
' do.call (grid.arrange, c (ggcluster, list (ncol = 2))) 'Это работает для меня, будучи ggcluster списком объектов ggplot. Количество элементов ggplot в списке различается в любом вхождении цикла – pacomet