[r] ggplot2를 사용할 때 지속적으로 잘못된 그래픽 상태 오류

내 데이터 프레임은 괜찮고 코드는 괜찮다고 생각합니다. 사실 저는 가능한 한 기본적인 것을 만들기 위해 데이터 프레임의 일부와 대부분의 그래프 코드를 제거했습니다. 그러나 여전히 나는 얻는다.

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

여기서 무엇이 잘못 되었습니까? 데이터는 다음과 같습니다.

 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

이 데이터로 작업 할 때 다음과 같이 날짜를 지정합니다.

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

여기에 산점도를 만들고 싶습니다.

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



답변

이 같은 오류가 발생하여 다음을 실행하여 해결했습니다.

dev.off()

그런 다음 플롯을 다시 실행합니다. 그래픽 장치가 일부 그래픽을 내 보내서 어떻게 든 엉망이되었고 재설정되지 않은 것 같습니다. 이것은 나를 위해 일했으며 ggplot2를 다시 설치하는 것보다 간단합니다.


답변

해결책은 간단히 ggplot2. 사용중인 R 버전과 설치된 버전 사이에 비 호환성이있을 수 있습니다 ggplot2. 또는 ggplot2이전에 설치하는 동안 문제가 발생하여 문제가 발생할 수 있습니다.


답변

동일한 세션에서 ggplot 차트와 플롯 차트를 혼합하면 이런 일이 발생한다는 것을 알았습니다. Paul이 제안한 ‘dev.off’솔루션을 사용하면 문제가 해결됩니다.


답변

ggplot2를 다시 설치할 필요가 없습니다.

솔루션 : 이전에 작동하지 않았던 플롯으로 돌아갑니다. 예를 들어 아래 콘솔 출력을 사용하십시오. Figure 여백 (플롯을 표시하는 창)이 너무 작아 쌍 (MinusInner) 플롯을 표시 할 수 없습니다. 그런 다음 다음 qplot을 만들려고 할 때 R은 여전히 ​​이전 오류에 중단되었습니다.

pair (MinusInner) Error in plot.new () : Figure margins too large qplot (Sample.Type, BAE, data = MinusInner, geom = “boxplot”) Error in .Call.graphics (C_palette2, .Call (C_palette2, NULL) ) : 잘못된 그래픽 상태

플롯 창을 확장하고 pair (MinusInner) 플롯을 다시 실행하여 첫 번째 오류를 수정했습니다. 그런 다음 작동했습니다.

pair (MinusInner) qplot (Sample.Type, BAE, data = MinusInner, geom = “boxplot”)


답변

콘솔에서 모든 플롯을 지운 다음 플롯 영역이 내가 만들고있는 것을 수용 할 수있을만큼 충분히 큰지 확인하여이 문제를 해결했습니다.


답변

와 grafics을 얻으려고 x11()하거나 win.graph()이 문제를 해결한다.


답변