Wie fügt man mit knitr und RMarkdown mehrere Figuren auf mehreren Seiten eines Chunks hinzu?

8

Ich benutze eine for-Schleife, um mehrere große Figuren über mehrere Seiten hinweg in einem Stück mit knitr und rmarkdown zu erstellen. Es funktioniert gut für Word und HTML-Ausgaben, hat aber ein Problem in der PDF-Ausgabe.

Dies ist ein minimales RMarkdown-Beispiel, um mein Problem zu reproduzieren.

%Vor%

Die generierte PDF-Datei sieht so aus. Zwei Zahlen sind auf der Seite gedruckt.

Wenn ich die fig.height ändere, fügen Sie ein paar Abschnitte in der rmd-Datei hinzu, zwei Zahlen werden immer noch auf derselben Seite mit anderer Anordnung gedruckt.

%Vor%

Danke für jeden Vorschlag, um dieses Problem zu beheben.

Ich benutze RStudio 0.99.375. Dies ist meine Sitzungsinformation.

%Vor%     
Bangyou 08.04.2015, 07:04
quelle

2 Antworten

12

Ich habe mein Problem gelöst.

In der generierten tex-Datei gibt es nach jeder Figur keine neuen Zeilen. Dieser Tex-Code, den wir mithilfe der obigen rmd-Datei generiert haben, lautet:

%Vor%

Die Lösung besteht darin, nach jedem Zyklus eine neue Zeile einzufügen, um eine Figur zu drucken.

%Vor%

Nicht sicher, warum ich hier zwei "\ r \ n" brauche. Die generierte Textdatei sieht folgendermaßen aus:

%Vor%

Dies ist das vollständige Beispiel meiner Rmd-Datei

%Vor%     
Bangyou 09.04.2015, 04:08
quelle
4

Edit 1 (LaTeX) : Ich kann anscheinend nicht mit RMarkdown arbeiten, da es Probleme mit neuen Seiten gibt. Die Verwendung von reinem LaTeX scheint das Problem mit den mehreren Plots auf einer Seite und dem Text am Anfang zu lösen. Nicht sicher, wenn es das ist, was du willst. Öffnen Sie in RStudio eine neue R Swave-Datei (.RNW) und versuchen Sie Folgendes:

%Vor%

Dies erzeugt Folgendes:

Edit 2 (RMarkdown) (basierend auf Ihrer Antwort): Ausführen des Codes aus Ihrer Antwort Ich bekomme die erste Seite mit dem Text und dann eine einzelne Seite für jedes Diagramm. Wenn dies das ist, was Sie wollen, können Sie das gleiche Ergebnis einfach mit (d. H. Entfernen von grid.newpage , \r s und keep_tex ) erhalten:

%Vor%

Was folgendes bewirkt:

Wenn Sie die fig.Height auf 7 setzen, erhalten Sie das gleiche Ergebnis wie bei LaTeX oben.

    
Peter Diakumis 08.04.2015 07:41
quelle

Tags und Links