2013-03-11 61 views
3

我使用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

請重複舉例嗎? – 2013-03-11 12:39:25

回答

2

如果不給axis3d中的labels參數提供一個值,我會得到一個帶有六個刻度線的軸。由於您提供的只有四個值的向量的labels的說法,它看起來像axis3d回收這些值來涵蓋所有的刻度線。

在告訴axis3d你想要什麼樣的數據值,通過提供一個值at參數放置刻度線:

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

附:我必須在rgl.surface()之前添加以下行以避免出現段錯誤

rgl.open() 
+0

我太(上段錯誤);也許值得維護者報告,如果你有一分鐘​​,這樣做...... – 2013-03-11 22:23:35

+0

這是偉大的,它解決它!非常感謝。 – MatAff 2013-03-12 09:44:04