Aanhoudende ongeldige grafische statusfout bij gebruik van ggplot2

Ik geloof dat mijn dataframe in orde is en dat mijn code in orde is. Ik heb zelfs delen van het dataframe en de meeste grafische code geëlimineerd om de dingen zo eenvoudig mogelijk te maken. Maar toch krijg ik:

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

Wat is hier mis? Hier zijn de gegevens:

 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

Als ik met deze gegevens werk, geef ik datums als volgt op:

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

en hier wil ik een scatterplot maken:

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

Antwoord 1, autoriteit 100%

Ik kwam dezelfde fout tegen en loste het op door het volgende uit te voeren:

dev.off()

en voer de plot opnieuw uit. Ik denk dat het grafische apparaat eerder op de een of andere manier in de war was door wat afbeeldingen te exporteren en het werd niet gereset. Dit werkte voor mij en het is eenvoudiger dan ggplot2 opnieuw te installeren.


Antwoord 2, autoriteit 3%

Ik merkte dat dit gebeurde wanneer je ggplot-diagrammen mengde met plotdiagrammen in dezelfde sessie. Het gebruik van de door Paul voorgestelde ‘dev.off’-oplossing lost het probleem op.


Antwoord 3, autoriteit 2%

De oplossing is om ggplot2 eenvoudig opnieuw te installeren. Misschien is er een incompatibiliteit tussen de R-versie die u gebruikt en uw geïnstalleerde versie van ggplot2. Als alternatief kan er iets mis zijn gegaan tijdens het installeren van ggplot2 eerder, waardoor het probleem dat u ziet, is ontstaan.


Antwoord 4

U hoeft ggplot2 waarschijnlijk niet opnieuw te installeren

Oplossing: ga terug naar de plot die eerder niet werkte. Neem bijvoorbeeld de onderstaande console-uitvoer. De cijfermarges (het venster dat uw plots weergeeft) waren te klein om de paren (MinusInner)-plot weer te geven. Toen ik vervolgens probeerde de volgende qplot te maken, werd R nog steeds opgehangen bij de vorige fout.

paren (MinusBinnen)
Fout in plot.new() : cijfermarges te groot
qplot(Sample.Type, BAE,data=MinusInner, geom=”boxplot”)
Fout in .Call.graphics(C_palette2, .Call(C_palette2, NULL)):
ongeldige grafische staat

Ik heb de eerste fout verholpen door het plotvenster uit te breiden en de paren (MinusInner)-plot opnieuw uit te voeren. Toen maar de schuld geven, het werkte.

paren (MinusBinnen)
qplot(Sample.Type, BAE,data=MinusInner, geom=”boxplot”)


Antwoord 5

Ik heb dit opgelost door alle plots in de console te wissen en er vervolgens voor te zorgen dat het plotgebied groot genoeg was voor wat ik aan het maken was.


Antwoord 6

probeer graphics te verwijderen met x11() of win.graph() en los dit probleem op.


Antwoord 7

Het herstarten van R (Menu>Sessions>Restart R of ??F10) en het opnieuw uitvoeren van mijn code loste het probleem op.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

six + twenty =

Other episodes