2013-03-11 4 views
3

일부 데이터를 플롯하기 위해 r에서 rgl 패키지를 사용하고 있습니다. 여기에 완료로 :R rgl 플롯 값이 축에 표시되지 않음

http://www.r-bloggers.com/creating-3d-geographical-plots-in-r-using-rgl/

어떤 이유로 규모는 그래프와 일치하지 않습니다.

나는 처음에는 문제를 일으키는 것으로 생각했지만 안심을 높이기 위해 X 축과 Z 축의 크기를 변경했지만, 아래 예제에서는 0.02에서 1로 변경하더라도 문제가 발생합니다.

library(rgl) 

rdata <- c(0.8926,0.8986,0.9478,0.9672,0.916,0.912,0.9324,0.9532,0.9488,0.9376,0.921,0.927,0.9728,0.956,0.9318,0.9202) 
labs <-c(100,200,500,1000) 

rmatrix <- matrix(rdata, nrow=4,ncol=4,) 
dimnames(rmatrix) <- list(labs,labs) 

y <- as.matrix(rmatrix) 
x <- 0.02*(1:nrow(y)) 
z <- 0.02*(1:ncol(y)) 

rgl.surface(x, z, y, color="red", back="lines") 
axis3d('x--', labels=row.names(rmatrix),color="black") 

왜 이런 일이 발생합니까?

도움 주셔서 감사합니다. 매트

+2

재생 가능한 예제를 알려주십시오. –

답변

2

labels 인수에 값을 제공하지 않고 axis3d에 축 6 개를 표시합니다. labels 인수에 네 개의 값만 가진 벡터를 제공하기 때문에 axis3d은 모든 눈금을 포함하도록 값을 재활용합니다.

axis3d('x--', at = x, labels=row.names(rmatrix),color="black") 

추신 : 당신이 at 인수에 값을 제공하여 눈금을 배치하고 싶습니다 어떤 데이터 값

에서 axis3d에게 segfault를 피하기 위해 rgl.surface() 앞에 다음 줄을 추가해야했습니다.

rgl.open() 
+0

나도 (segfault에); 당신이 그렇게 할 분이 있다면 관리자에게보고 할 가치가있을 것입니다 ... –

+0

정말 고맙습니다. 고마워. – MatAff