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.