Da Sie keine Beispieldaten nicht vorsah, ich werde ein mtcars
in Dataset gebaut verwenden. Wenn Sie meinen obigen Kommentar erweitern, können Sie eine neue Gruppenvariable mit der gewünschten Anzahl von Gruppen erstellen. Mit diesem können Sie 1 von 3 Dinge tun: (1) Facet_wrap
, (2) grid.arrange
, oder (3) neue Seiten
Datenaufbau:
group.len <- 8
map <- data.frame(hp = unique(mtcars$hp),
new_group = rep(1:ceiling(length(unique(mtcars$hp))/group.len), each = group.len,
length.out = length(unique(mtcars$hp))))
df <- merge(mtcars, map)
Facet Einschlag:
ggplot(data = df, aes(x = cyl, y = mpg, fill = as.factor(hp))) +
geom_bar(stat="identity") + facet_wrap(~new_group)
Grid.arrange:
ich exakt den gleichen Ansatz wie in diesem Beitrag place a legend for each facet_wrap grid in ggplot2. Das Original war darum verschiedene Legenden für jede Facette, aber ich denke, es ist auch sehr für Ihr Problem:
library(gridExtra)
out <- by(data = df, INDICES = df$new_group, FUN = function(m) {
m <- droplevels(m)
m <- ggplot(m, aes(as.factor(cyl), mpg, fill = as.factor(hp))) +
geom_bar(stat="identity")
})
do.call(grid.arrange, out)
Neue Seiten:
Hinweis: dieser verwendet das out
Objekt aus Gittern. vereinbaren Sie. Dadurch wird jede Handlung auf einer neuen Seite setzen (statt alle auf einer Seite wie in grid.arrange
.
lapply(out, function(x) {x})
Warum eine 'Group' Variable nicht erstellen und es dann Facette benutzen? –