본문 바로가기

[R] Error invalid graphics state

R Programming/Data Visualization by Mandarim_ 2023. 12. 20.

이 전 게시글에서 소개한 plot을 자동으로 저장하는 옵션을 사용하다 보면, 위와 같은 에러가 발생할 때가 있다.

이 전까지만 해도 잘 그려지던 그래프가 어떠한 코드 수정도 없었는데 갑자기 그려지지 않기 때문에 많이 당황스럽다.


Error 메시지

나의 경우엔 ggplot을 특정 객체 g에 저장하였고, 다시 g를 출력하려고 했을 때 다음과 같은 에러 메시지를 확인할 수 있었다.

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

 

해결방법 1. dev.off()

현재 그래프를 옆에 출력하는 것이 아닌, 특정 이름으로 저장되는 코드(ggsave, png 같은..)가 실행되고 있었기 때문에,

그동안은 객체에도 저장할 수 없는 것으로 생각된다. 

 

만약, 이 전까지만 해도 잘 작동하던 코드가 갑자기 해당 에러 메시지를 출력하면서 작동하지 않는다면, 어떠한 그래픽 설정 문제이므로 아래 코드를 사용하여 Plot 저장 코드를 중단해야 한다.

 

또한, R session을 다시 시작하면 쉽게 문제가 해결된다.

해결방법 2. ggplot 다시 설치

아래의 참고링크를 보니,

해당 에러 메시지는 그래픽 설정 문제뿐만 아니라, R과 ggplot2가 호환되지 않을 경우에도 문제가 발생한다.

대체로 이러한 문제는 잘 겪지 않을 것으로 생각되나, 본인의 R이 너무 옛날 버전이라면, 혹은 ggplot2가 너무 옛날 버전이라면 최신 버전으로 둘 다 업데이트를 하면 된다.

 

 

참고링크:

 

How to Fix in R: Invalid Graphics State (3 Solutions) - Statology

This tutorial explains how to fix the invalid graphics state error in R, including several examples.

www.statology.org

 

반응형