knitr: Das Aufrufen einer ggplot2-Funktion in einer Schleife wird nicht in Verbindung mit bestimmten anderen Zeichenfunktionen dargestellt

8

Ich bin mir nicht sicher, ob das ein echter Bug ist oder mir etwas fehlt, aber hier geht es. Ich habe eine ggplot-Funktion (plot_data), die ich in einer Schleife aufrufen möchte. Ich habe die Funktion in einem eigenen Stück enthalten. Der Aufruf der Funktion funktioniert in einer Schleife im ersten Fall (der Chunk mit dem Titel "funktioniert"), in diesem Fall folgt auf die Funktion plot_data ein Barplot. Im zweiten Fall folgt auf die Funktion plot_data () in diesem Fall eine Heatmap, aber die Heatmap unterdrückt seltsamerweise die Funktion plot_data. Dies geschieht unabhängig davon, ob plot () oder print () um die Funktion plot_data aufgerufen wird.

Gibt es eine Möglichkeit, ggplots mit knitr zu arbeiten? Und wie zur Hölle ist ein Funktionsaufruf, der die Ausgabe eines vorherigen Funktionsaufrufs unterdrückt?

Der folgende Code gibt den Fehler für mich wieder:

%Vor%     
zzk 19.03.2013, 03:49
quelle

2 Antworten

3

Ich denke, du fragst viel von knitr . Das Ausrichten von Basisgrafiken und Grid-Grafiken ist in R nicht einfach und schwierig. Ich weiß nicht, wie knitr es vielleicht benutzt (Paket latex graphics ), aber was ich denke ist, wenn du heatmap it anrufst wird an der gleichen Stelle des Rasterdiagramms gedruckt.

Das Hinzufügen eines plot.new vor dem Aufruf der Basisgrafiken funktioniert für mich gut:

%Vor%     
agstudy 19.03.2013, 08:08
quelle
0

Es gibt einen Fehler in Ihrer Funktion. Ich denke, die Variablen aus der Schmelze sind aus. Das hat für mich funktioniert:

%Vor%     
Odysseus Ithaca 15.05.2017 22:12
quelle

Tags und Links