2014-04-23 2 views
2

일부 데이터 표현을 위해 현재 rgl 패키지를 사용하고 있습니다. 다음은 내 명령rgl.snapshot 및 rgl.postscript 내보내기가 실패합니다.

mypath("directory") 
png(file=mypath, res=600, width=10.5, height= 10.5,units="in",bg = "transparent") 
require(rgl) 
set.seed(1) 
df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE))) 
colnames(df) <- c("var1","var2","var3","var4") 
plot3d(x=df$var1, y=df$var2, z=df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3") 
rgl.snapshot(mypath) 

작품 위의 명령이고 나는 더 큰을 만들거나 (600)의 해상도를 증가 할 수 없었던 작은 이미지를 생성합니다.

rgl.postscript(mypath, fmt="pdf") 

을하지만 난 실행할 때 명령 R은 "응답 없음"상태가됩니다 :

또한 사용하여 PDF를 내보낼 노력했다.

누군가 파일을 올바르게 내보내는 방법을 보여줄 수 있습니까? 나는 해상도 600 dpi의 PNG를 선호합니다.

건배,

+0

스냅 샷의 크기가 RGL 플롯을 생성하는 그래픽 창의 크기와 관련이 있다고 생각합니까? –

+0

안녕하세요 @ BenBolker, 나는 창 크기와 해상도 (편집을 참조하십시오)를 설정하려했지만, 아직 빈 흰색 파일이 있습니다. 놀랍게도,이 파일은 37.5 Kbs이며 0이 아닙니다. – Error404

답변

1

해결책은) (open3d 사용하여 윈도우의 크기를 설정할 수 있습니다 :

require(rgl) 
set.seed(1) 

df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE))) 
colnames(df) <- c("var1","var2","var3","var4") 
open3d(windowRect=c(100,100,700,700)) 
plot3d(x=df$var1, y=df$var2, z=df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3") 
rgl.snapshot(<path to png file>) 
+0

이것은 우분투 14.04에서 작동하지 않습니다. 왼쪽 상단 모서리의 작은 캡처 만있어 이것이 @ Error404가 겪었던 것 같아요. – epsilone

0

사람이 필요로 할 수 있음.

persp3Drgl(...) 
par3d(windowRect=c(0,0,100,100)) 
snapshot3d(file.path(plotDir, "3D.png"), top = TRUE) 

실패한있어 top = TRUE없이 : 나는 persp3Drgl에 대한 다음과 같은 조합을 사용했다.

관련 문제