Oplossing in r: ongeldige grafische status (3 oplossingen)
Een fout die je tegen kunt komen in R is:
Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)): invalid graphics state
Deze fout kan om drie redenen optreden:
1. U maakt tijdens dezelfde sessie plots in base R en ggplot2.
2. Uw versie van ggplot2 is niet compatibel met uw versie van R.
3. Uw grafische instellingen voorkomen dat er nieuwe plots worden gemaakt.
In deze zelfstudie worden drie methoden besproken die u kunt gebruiken om deze fout op te lossen.
Hoe de fout te reproduceren
Stel dat we proberen een puntenwolk te creëren met behulp van de mtcars- dataset die in R is ingebouwd:
library (ggplot2)
#attempt to create scatterplot
ggplot(mtcars, aes (x=mpg, y=hp)) +
geom_point()
We ontvangen de foutmelding Ongeldige grafische status , maar de reden is onduidelijk.
De volgende drie methoden laten zien hoe u deze fout kunt oplossen.
Methode #1: Los de fout op met dev.off()
De eerste methode die u moet proberen (en de eenvoudigste methode) is om simpelweg dev.off() te gebruiken om het huidige traceerapparaat uit te schakelen.
dev. off ()
U kunt vervolgens uw originele code opnieuw uitvoeren om de puntenwolk te maken.
In veel gevallen kan dit de fout verhelpen, omdat hierdoor alle plotinstellingen worden verwijderd die voor eerdere plots zijn gebruikt en die mogelijk uw huidige plot verstoren.
Methode #2: Los de fout op door RStudio opnieuw te starten
Als de vorige methode niet werkte, kunt u proberen uw RStudio-sessie opnieuw te starten.
In veel gevallen kan dit ook de fout herstellen, omdat alle eerdere plotinstellingen die uw huidige plot verstoorden, worden gewist.
Methode #3: Los de fout op door ggplot2 opnieuw te installeren
Als de vorige twee methoden niet werkten, moet u mogelijk ggplot2 verwijderen en vervolgens opnieuw installeren.
U kunt de volgende syntaxis gebruiken om uw huidige versie van ggplot2 te verwijderen:
#uninstall ggplot2
remove.remove. packages (" ggplot2 ")
U kunt vervolgens de volgende syntaxis gebruiken om de nieuwste versie van ggplot2 te installeren:
#install ggplot2
install. packages (" ggplot2 ")
Vervolgens kunt u de code opnieuw uitvoeren om de puntenwolk te maken:
In de meeste gevallen kunnen we nu de plot zonder fouten maken.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende problemen in R kunt oplossen:
Oplossing in R: ongeldig factorniveau, NA gegenereerd
Hoe op te lossen in R: plot.new is nog niet aangeroepen
Hoe op te lossen in R: ongedefinieerd vanwege singulariteiten