R rgl绘图值未显示在轴上

时间:2013-03-11 12:19:18

标签: r axis 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")

为什么会这样?

感谢您的帮助! 垫

1 个答案:

答案 0 :(得分:2)

如果没有为labels中的axis3d参数提供值,我会得到一个带有六个刻度线的轴。由于您为labels参数提供了只有四个值的向量,因此看起来axis3d会回收这些值以覆盖所有刻度线。

通过为axis3d参数提供一个值,告诉at您希望放置刻度线的数据值:

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

P.S。我必须在rgl.surface()之前添加以下行以避免出现段错误

rgl.open()