R 从x、y、z数据帧制作线框图

R 从x、y、z数据帧制作线框图,r,graphics,plot,3d,R,Graphics,Plot,3d,我有一个x/y/z点的数据帧。我知道如何使用rgl软件包制作三维散点图,但我想连接散点图中的每个点来制作线框或曲面图 此代码返回散点图 library(rgl) Data <- expand.grid(x=seq(0,10),y=seq(0,10)) Data$z <- Data$x^2+Data$y^2 plot3d(Data) 我可以使用lattice制作我想要的绘图: library(lattice) wireframe(z~x+y,Data) 我甚至可以让它旋转: lib

我有一个x/y/z点的数据帧。我知道如何使用
rgl
软件包制作三维散点图,但我想连接散点图中的每个点来制作线框或曲面图

此代码返回散点图

library(rgl)
Data <- expand.grid(x=seq(0,10),y=seq(0,10))
Data$z <- Data$x^2+Data$y^2
plot3d(Data)
我可以使用lattice制作我想要的绘图:

library(lattice)
wireframe(z~x+y,Data)
我甚至可以让它旋转:

library(TeachingDemos)
rotate.wireframe(z~x+y,Data)
但是我更喜欢
rgl
而不是
lattice
,因为它的渲染速度更快,可以让你用鼠标旋转绘图


rgl
中绘制线框图的正确方法是什么?

rgl中的曲面绘制绘图函数是persp3d,与base::persp类似,它需要一个矩阵作为z参数的输入

zmat <- matrix(Data$z, 11,11)
persp3d(x=seq(0,10), y=seq(0,10), z=zmat)
zmat
zmat <- matrix(Data$z, 11,11)
persp3d(x=seq(0,10), y=seq(0,10), z=zmat)