내 데이터 프레임은 괜찮고 코드는 괜찮다고 생각합니다. 사실 저는 가능한 한 기본적인 것을 만들기 위해 데이터 프레임의 일부와 대부분의 그래프 코드를 제거했습니다. 그러나 여전히 나는 얻는다.
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()
이 문제를 해결한다.
답변
