36 Stimmen

Erzeugen mehrerer Grafiken aus einer R-Funktion heraus

Ich möchte mehrere Grafiken Windows aus einer Funktion in R mit ggplot Grafiken zu erzeugen...

testf <- function(a, b) {
  devAskNewPage(TRUE)
  qplot(a, b);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(a, a+a);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(b, b+b);
}

library(ggplot2)

x <- rnorm(50)
y <- rnorm(50)
testf(x, y)

Allerdings scheinen weder dev.new() noch grid.newpage() die vorangehende Darstellung zu spülen.

Ich weiß, dass Funktionen in R normalerweise nur das Letzte ausgeben, was sie auswerten, aber ich würde den Prozess gerne besser verstehen und mögliche Umgehungsmöglichkeiten kennenlernen.

Was denken Sie?

37voto

rcs Punkte 64558

El Gitter -basierten Grafikfunktionen in lattice und ggplot2 erzeugen ein Graph-Objekt, zeigen es aber nicht an. Die print() Methode für das Graph-Objekt erzeugt die eigentliche Anzeige, d.h.,

print(qplot(x, y))

löst das Problem.

Ver R FAQ 7.22 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X