web-dev-qa-db-de.com

plot.new wurde noch nicht aufgerufen

Warum passiert das?

plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")

Fehler in plot.xy(xy.coords(x, y), type = type, ...): plot.new wurde noch nicht aufgerufen

34
optform

Eine Aktion, die möglicherweise nicht im sichtbaren Code dargestellt wird, hat das interaktive Bildschirmgerät geschlossen. Dies kann entweder durch Klicken auf einen Schließen-Button erfolgen. (Dies kann auch durch ein zusätzliches dev.off () beim Plotten auf ein Dateigrafikgerät geschehen. Dies kann passieren, wenn Sie einen mehrzeiligen Plotbefehl einfügen, der am Ende einen dev, off (), jedoch Fehler aufweist out beim Öffnen des externen Geräts, hat dann jedoch dev.off () in einer separaten Zeile, sodass das interaktive Gerät versehentlich geschlossen wird.

Bei einigen (den meisten?) R-Implementierungen wird ein Bildschirmgrafikgerät automatisch geöffnet. Wenn Sie es jedoch schließen, müssen Sie es erneut initialisieren. Unter Windows könnte dies window() sein. auf einem Mac quartz(); und auf einer Linux-Box x11(). Möglicherweise müssen Sie auch einen plot.new()-Befehl ausgeben. Ich folge einfach den Befehlen. Wenn ich diesen Fehler erhalte, gebe ich plot.new() aus und wenn ich kein Plotfenster sehe, gebe ich auch quartz() aus. Ich beginne dann von vorne mit einem neuen plot(., ., ...)-Befehl und weiteren Ergänzungen zu diesem Plotbildschirmbild.

29
42-

In meinem Fall habe ich versucht, plot(x, y) und lines(x, predict(yx.lm), col="red") in zwei separaten Chunks in der Rmarkdown-Datei aufzurufen. Es lief ohne Probleme, wenn Stück für Stück ein Stück ausgeführt wurde, aber das entsprechende Dokument ließ sich nicht stricken. Nachdem ich alle Plotaufrufe innerhalb eines Chunks verschoben hatte, wurde das Problem behoben.

8
Jelena-bioinf

Als Neuling hatte ich das gleiche "Problem".

In Neulingen ausgedrückt: Wenn Sie plot() aufrufen, erhält das Diagrammfenster den Fokus und Sie können keine weiteren Befehle in R eingeben. Dann schließen Sie, dass Sie das Diagrammfenster schließen müssen, um zu R . Zurückzukehren Befehle wie identify() wirken auf offene/aktive Diagrammfenster. Wenn identify() kein offenes/aktives Diagrammfenster finden kann, wird diese Fehlermeldung angezeigt. 

Sie können jedoch einfach auf das R-Fenster klicken ohne das Diagrammfenster zu schließen . Dann können Sie an der R-Eingabeaufforderung weitere Befehle eingeben, z. B. identify() usw. 

3
Ronnie

Wenn jemand die print-Funktion verwendet (zum Beispiel mit mtext), dann stellen Sie zuerst eine Nulldarstellung dar:

plot(0,type='n',axes=FALSE,ann=FALSE)

und dann mit newpage = F drucken

print(data, newpage = F)
1
Alex Nevsky

Ich hatte das gleiche Problem ... mein Problem war, dass ich mein Quarzfenster nach dem Plot (x, y) schließe. Sobald ich es offen hielt, fügten die Zeilen, die zuvor zu Fehlern führten, nur Dinge zu meinem Plot hinzu (wie sie sollten). Hoffentlich hilft das einigen Leuten, die auf diese Seite kommen.

1
Hank

ein plot.new () -Fehler tritt auf, wenn nur ein Teil der Funktion ausgeführt wird.

Im Anhang finden Sie ein Beispiel zur Fehlerbehebung Mit Fehler .... Wenn abline ohne plot () ausgeführt wird, oben enter image description here Fehlerfrei ... Wenn Plot und Abline zusammen liefen enter image description here

0
Abhishek