2017-02-09 12 views
0

У меня проблема с преобразованием некоторых графиков из plot3D в plot3Drgl.points3Drgl не отображается

Это создает сюжет без проблем

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) 

Ошибка я получаю это:

Все, что я хочу для достижения здесь нужно добавить одну точку в 3D-поверхность.

Заранее спасибо

MJ

ответ

1

Я не эксперт по Plot3D, но после помощи ?points3Drgl должен дать вам ответ:

The first step in 3D rgl plotting consists in calling the corresponding 3-D function from package plot3D with argument plot set to FALSE.

The next step is to create a 3-D rgl plot, by calling plotrgl.

Так называют вашу нормальную 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() 
+0

Спасибо, это сработало! –