Ich versuche, eine Liste von Plots für jeden kategorischen Wert in meinem Datenrahmen zu erstellen. Für jede Kategorie werden 2 nebeneinander liegende Plots auf einer Seite dargestellt und auf jeder Seite werden die Plots für jede Kategorie angezeigt.nebeneinander Plots auf mehreren Seiten
Jede der Aufgaben ist machbar, aber ich habe Probleme mit der Kombination von beiden.
1- Die Aufgabe der Parzellen nach Kategorien (eine auf jeder Seite der PDF) Erstellen leicht diesen dplyr
Code getan werden kann, mit:
AllPlots <- dataf %>%
group_by(category) %>%
do(plots=ggplot(data=., aes(x = x, y = val)) + geom_bar(stat="identity")+ ggtitle(unique(.$category)))
pdf("plots.pdf")
invisible(lapply(AllPlots$plot, print))
dev.off()
2- Die Aufgabe nebeneinander von der grafischen Darstellung ist auch einfach mit grid
und gridExtra
:
p1 = qplot(1:10, rnorm(10))
p2 = qplot(1:10, rnorm(10))
grid.arrange(p1, p2, ncol = 2, main = "Main title")
man kann eine for-Schleife auf die Kategorie basiert machen und die Anordnung der Plots nebeneinander machen und kombinieren sie dann alle auf einer Seite. Aber ich denke, das ist langsam, da meine Datenfelder ziemlich groß sind.
Die Frage ist, wie man beides auf schnelle Weise gleichzeitig macht?
Haben Sie 'facet_grid versucht (. ~ Kategorie)'? Bitte fügen Sie einige reproduzierbare Daten hinzu, z. 'dput()' für mehr Hilfe. – Jimbou
'grid.arrange (grobs = AllPlots $ plot, ncol = 2)' oder '? MarrangeGrob' wenn Sie mehrere Seiten benötigen. Es wird nicht schnell gehen, aber der Engpass ist ggplot/grid, also kann man nicht viel dagegen tun. – baptiste