Um erro que pode encontrar no R é:

 Erro em .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : estado gráfico inválido 

Este erro pode ocorrer por três razões:

1. Está a criar gráficos no R base e no ggplot2 na mesma sessão.

2. A sua versão do ggplot2 não é compatível com a sua versão do R.

3. As suas definições gráficas estão a impedir a criação de novas parcelas.

Este tutorial partilha três métodos que pode utilizar para resolver este erro.

Como reproduzir o erro

Suponhamos que tentamos criar um gráfico de dispersão utilizando o conjunto de dados mtcars incorporado no R:

 library (ggplot2) #tentativa de criar um gráfico de dispersão ggplot(mtcars, aes (x=mpg, y=hp)) + geom_point() 

Recebemos o estado gráfico inválido mas não se sabe bem porquê.

Os três métodos seguintes mostram como resolver este erro.

Método #1: Corrigir o erro usando dev.off()

O primeiro método que deve tentar (e o método mais fácil) é simplesmente utilizar dev.off() para desligar o dispositivo de plotagem atual.

 dev. off () 

Pode então executar novamente o código original para criar o gráfico de dispersão.

Em muitos casos, isto pode corrigir o erro porque remove quaisquer definições de parcelas que tenham sido utilizadas em parcelas anteriores e que possam estar a interferir com a sua parcela atual.

Método #2: Corrigir o erro reiniciando o RStudio

Se o método anterior não funcionou, pode tentar reiniciar a sessão do RStudio.

Em muitos casos, isto também pode corrigir o erro, uma vez que elimina quaisquer definições de gráfico anteriores que estivessem a interferir com o seu gráfico atual.

Método #3: Corrigir o erro reinstalando o ggplot2

Se os dois métodos anteriores não funcionarem, pode ser necessário desinstalar e reinstalar o ggplot2.

Pode utilizar a seguinte sintaxe para desinstalar a sua versão atual do ggplot2:

 #uninstall ggplot2 remove. packages (" ggplot2 ") 

Pode então utilizar a seguinte sintaxe para instalar a versão mais recente do ggplot2:

 #instalar ggplot2 install. packages (" ggplot2 ") 

Pode então executar o código novamente para criar o gráfico de dispersão:

Na maior parte dos casos, podemos agora criar o gráfico sem qualquer erro.