我在将一些地块从plot3D转换到plot3Drgl时遇到了问题。
这就产生了没有问题的情节
require(plot3D)
persp3D(z=matrix(runif(100),nrow=10, ncol=10), clab = "m", shade = 0.2,
col="#DDDDDD", colkey = FALSE, theta=20, phi=30, plot=FALSE, zlim = c(0,2))
points3D(x=0.5,y=0.5,z=1.5, col="#FF0000", add=TRUE, plot=TRUE, pch = 20, cex = 2 )使用plot3Drgl的相同方法会引发一个错误:
require("plot3Drgl")
persp3Drgl(z=matrix(runif(100),nrow=10, ncol=10), clab = "m", shade = 0.2,
col="#DDDDDD", colkey = FALSE, theta=20, phi=30, plot=FALSE, zlim = c(0,2))
points3Drgl(x=0.5,y=0.5,z=1.5, col="#FF0000", add=TRUE, plot=TRUE, pch = 20, cex = 2 )我得到的错误是:
Error in if (dots$add) rgldots$new <- FALSE : argument is of length zero我在这里想要实现的就是在三维曲面上添加一个点。
提前感谢
MJ
发布于 2017-02-09 12:14:53
我不是plot3D方面的专家,但是按照?points3Drgl的帮助,我应该给你一个答案:
3D rgl绘图的第一步是从包plot3D调用相应的三维函数,参数图设置为FALSE。 下一步是通过调用plotrgl创建一个三维rgl图.
因此,使用plot3D调用普通的plot = F函数,然后简单地调用plotrgl()
library(plot3D)
library(plot3Drgl)
persp3D(z=matrix(runif(100),nrow=10, ncol=10), clab = "m", shade = 0.2,
col="#DDDDDD", colkey = FALSE, theta=20, phi=30, plot=FALSE, zlim = c(0,2))
points3D(x=0.5,y=0.5,z=1.5, col="#FF0000", add=TRUE, plot=FALSE, pch = 20, cex = 2 )
plotrgl()https://stackoverflow.com/questions/42136061
复制相似问题