Ich wollte nur mehrere Facetten mit ggplot2
in Kombination mit for loop
plotten und fand die Lösung in diesem Beitrag ggplot2-plots-over-multiple-pages.Kombinieren `for loop` und ggplotGrob
Allerdings möchte ich Aussehen dieser Facetten mit ggplotGrop
für die Verringerung der Streifengröße von Facetten nach diesem for loop
ändern.
Ich reiche hier reproduzierbares Beispiel vorheriger Frage für nur facets
Plotten
library(ggplot2)
library(vcd) # For the Baseball data
data(Baseball)
pdf("baseball.pdf", 7, 5)
aa<- for (i in seq(1, length(unique(Baseball$team87)), 6)) {
print(ggplot(Baseball[Baseball$team87 %in% levels(Baseball$team87)[i:(i+5)], ],
aes(hits86, sal87)) +
geom_point() +
facet_wrap(~ team87) +
scale_y_continuous(limits=c(0, max(Baseball$sal87, na.rm=TRUE))) +
scale_x_continuous(limits=c(0, max(Baseball$hits86))) +
theme_bw())
}
dev.off()
wollen ggplotGrob
implementieren, um die Streifengröße zu reduzieren.
library(gridExtra)
library(grid)
g = ggplotGrob(aa)
pos = c(unique(subset(g$layout, grepl("panel", g$layout$name), select = t)))
for(i in pos) g$heights[i-1] = unit(0.4,"cm")
grobs = which(grepl("strip", g$layout$name))
for(i in grobs) g$grobs[[i]]$heights <- unit(1, "npc")
grid.draw(g)
dev.off()
Fehler in plot_clone (Plot): Versuch nicht-Funktion
Ich frage mich nur anzuwenden wie für Schleife ggplotGrop
zu, dass zu implementieren.
Vielen Dank für Ihre tolle informative Antwort! – Alexander