ggplot2: Plotts über mehrere Seiten

8

Ich zeichne Diagramme mit ggplot2 und ich habe die Funktion facet_wrap , um mehrere Graphen (~ 51) zu erstellen, aber alle erscheinen auf einer Seite. Jetzt, nach der Suche, habe ich herausgefunden, dass ggplot2 keine Grafiken auf mehreren Seiten platzieren kann.

Gibt es eine Möglichkeit, dies zu tun? Ich schaute auf diese Frage ( Mehrere Grafiken über mehrere Seiten mit ggplot ) und habe den Code mit wenig Erfolg ausprobiert.

Hier ist mein Code für meine Graphen, er erzeugt ~ 51 Graphen auf einer Seite, macht sie sehr klein und schwer zu sehen, wenn ich das auf 1 Graph pro Seite in einem PDF drucken könnte, das wäre toll:

%Vor%

Wenn jemand einen kleinen Code schreiben und mir erklären könnte, wäre das großartig!

Danke!

    
LearningTheMacros 28.09.2016, 01:31
quelle

2 Antworten

9

Eine Option besteht darin, einfach sechs Ebenen von individual mit dem gleichen Code zu zeichnen, den Sie gerade verwenden. Sie müssen es nur mehrmals wiederholen, einmal für jede Teilmenge Ihrer Daten. Sie haben keine Beispieldaten bereitgestellt, daher ist hier ein Beispiel, das den Datenrahmen Baseball verwendet:

%Vor%

Der obige Code erzeugt eine PDF-Datei mit vier Seiten mit jeweils sechs Facetten auf einer Seite. Sie können auch vier separate PDF-Dateien erstellen, eine für jede Gruppe von sechs Facetten:

%Vor%

Eine weitere Option, wenn Sie mehr Flexibilität benötigen, besteht darin, für jede Ebene (dh jeden eindeutigen Wert) der Facettierungsvariablen ein separates Diagramm zu erstellen und alle einzelnen Diagramme in einer Liste zu speichern. Dann können Sie auf jeder Seite eine beliebige Anzahl von Plots anlegen. Das ist wahrscheinlich zuviel hier, aber hier ist ein Beispiel , wo die Flexibilität nützlich ist.

Zuerst erstellen wir alle Plots. Wir verwenden team87 als Facettierungsspalte. Wir wollen also für jede Ebene von team87 ein Diagramm erstellen. Wir tun dies, indem wir die Daten nach team87 aufteilen und für jede Teilmenge der Daten ein separates Diagramm erstellen.

Im folgenden Code teilt split die Daten in separate Datenrahmen für jede Ebene von team87 auf. Der lapply -Wrapper speist sequentiell jede Datenteilmenge in ggplot ein, um eine Grafik für jedes Team zu erstellen. Wir speichern die Ausgabe in plist , eine Liste von (in diesem Fall) 24 Plots.

%Vor%

Jetzt werden wir sechs Diagramme gleichzeitig in einer PDF-Datei darstellen. Im Folgenden finden Sie zwei Optionen, eine mit vier separaten PDF-Dateien mit jeweils sechs Plots, die andere mit einer einzigen vierseitigen PDF-Datei. Ich habe auch in einen der Grundstücke eingefügt. Wir verwenden grid.arrange , um die Diagramme auszulegen, einschließlich der Argumente left und bottom , um Achsentitel hinzuzufügen.

%Vor%     
eipi10 28.09.2016, 05:44
quelle
2

etwas wie:

%Vor%     
HubertL 28.09.2016 01:35
quelle

Tags und Links