it-swarm.com.de

Anhaltender ungültiger Grafikstatusfehler bei Verwendung von ggplot2

Ich glaube, mein Datenrahmen ist in Ordnung und mein Code ist in Ordnung. Tatsächlich habe ich Teile des Datenrahmens und den größten Teil des Grafikcodes entfernt, um die Dinge so einfach wie möglich zu gestalten. Trotzdem bekomme ich:

Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : 
  invalid graphics state

Was ist hier falsch? Hier sind die Daten:

 date   trt var val
1/8/2008    cc  sw5 0.2684138
1/8/2008    cc  sw15    0.2897586
1/8/2008    cc  sw5 0.2822414
2/8/2008    cc  sw5 0.2494583
2/8/2008    cc  sw5 0.2692917
2/8/2008    cc  sw15    0.2619167
2/8/2008    cc  sw5 0.204375
3/8/2008    cc  sw5 0.2430625
3/8/2008    cc  sw5 0.2654375
3/8/2008    cc  sw5 0.2509583
3/8/2008    cc  sw5 0.2055625
1/8/2008    ccw sw15    0.2212414
1/8/2008    ccw sw5 0.3613448
1/8/2008    ccw sw5 0.2607586
2/8/2008    ccw sw5 0.2087917
2/8/2008    ccw sw15    0.3390417
2/8/2008    ccw sw5 0.2436458
2/8/2008    ccw sw5 0.290875
3/8/2008    ccw sw5 0.20175
3/8/2008    ccw sw15    0.328875
3/8/2008    ccw sw5 0.2328958
3/8/2008    ccw sw5 0.2868958

Wenn ich mit diesen Daten arbeite, gebe ich folgende Daten an:

df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]

und hier möchte ich ein Scatterplot machen:

ggplot(data = df,aes(x = date,y = val)) + 
 geom_point(aes(group = trt))
108
Nazer

Ich bin auf denselben Fehler gestoßen und habe ihn behoben, indem ich ausgeführt habe:

dev.off()

und dann den Plot erneut ausführen. Ich denke, dass das Grafikgerät früher durch den Export einiger Grafiken durcheinander gebracht wurde und nicht zurückgesetzt wurde. Das hat bei mir funktioniert und ist einfacher als ggplot2 neu zu installieren.

325
paul

Die Lösung besteht darin, einfach ggplot2 Neu zu installieren. Möglicherweise besteht eine Inkompatibilität zwischen der von Ihnen verwendeten R-Version und Ihrer installierten Version von ggplot2. Alternativ könnte bei der früheren Installation von ggplot2 Ein Fehler aufgetreten sein, der das von Ihnen festgestellte Problem verursacht hat.

7
Paul Hiemstra

Sie müssen ggplot2 wahrscheinlich nicht neu installieren

Lösung: Gehen Sie zurück zum Diagramm, das zuvor nicht funktioniert hat. Nehmen Sie zum Beispiel die folgende Konsolenausgabe. Die Bildränder (das Fenster, in dem Ihre Diagramme angezeigt werden) waren zu klein, um das Paar-Diagramm (MinusInner) anzuzeigen. Als ich dann versuchte, den nächsten qplot zu machen, war R immer noch bei dem vorherigen Fehler hängengeblieben.

pairs (MinusInner) Fehler in plot.new (): Bildränder sind zu groß qplot (Sample.Type, BAE, data = MinusInner, geom = "boxplot") ): Ungültiger Grafikstatus

Ich habe den ersten Fehler behoben, indem ich das Plot-Fenster erweitert und das Paar-Plot (MinusInner) erneut ausgeführt habe. Dann schuld, es hat funktioniert.

pairs (MinusInner) qplot (Sample.Type, BAE, data = MinusInner, geom = "boxplot")

4
DjBabyKangaroo

Ich habe festgestellt, dass dies auftritt, wenn Sie in derselben Sitzung ggplot-Diagramme mit Plot-Diagrammen mischen. Mit der von Paul vorgeschlagenen "dev.off" -Lösung wird das Problem behoben.

4
Ernie

Ich löste dieses Problem, indem ich alle Diagramme in der Konsole löschte und dann sicherstellte, dass der Diagrammbereich groß genug war, um das aufzunehmen, was ich erstellte.

0
Daisy