在R中平滑3d绘图
我在rgl.persp3d中绘制了3d图,但我不知道如何平滑以看到趋势。或者下一个解决方案是在rgl.persp3d中实现线框(因为我需要这个绘图是交互式的)。请帮忙在R中平滑3d绘图,r,rgl,wireframe,R,Rgl,Wireframe,我在rgl.persp3d中绘制了3d图,但我不知道如何平滑以看到趋势。或者下一个解决方案是在rgl.persp3d中实现线框(因为我需要这个绘图是交互式的)。请帮忙 library(mgcv) x<- rnorm(200) y<- rnorm(200) z<-rnorm(200) tab<-data.frame(x,y,z) tab #surface wireframe: mod <- gam(z ~ te(x, y), data = tab) wyk
library(mgcv)
x<- rnorm(200)
y<- rnorm(200)
z<-rnorm(200)
tab<-data.frame(x,y,z)
tab
#surface wireframe:
mod <- gam(z ~ te(x, y), data = tab)
wyk <- matrix(fitted(mod), ncol = 20) #8 i 10 też ok
wireframe(wyk, drape=TRUE, colorkey=TRUE)
库(mgcv)
xrgl
只是画出你给它的东西。您需要像在第一个示例中一样使用mgcv
进行平滑处理,但最后没有得到拟合值矩阵,因此您需要使用deldir
将结果转化为曲面。比如说,
library(mgcv)
x<- rnorm(200)
y<- rnorm(200)
z<-rnorm(200)
tab<-data.frame(x,y,z)
tab
#surface wireframe:
mod <- gam(z ~ te(x, y), data = tab)
library(rgl)
library(deldir)
zfit <- fitted(mod)
col <- cm.colors(20)[1 +
round(19*(zfit - min(zfit))/diff(range(zfit)))]
persp3d(deldir(x, y, z = zfit), col = col)
aspect3d(1, 2, 1)
库(mgcv)
xrgl
只是画出你给它的东西。您需要像在第一个示例中一样使用mgcv
进行平滑处理,但最后没有得到拟合值矩阵,因此您需要使用deldir
将结果转化为曲面。比如说,
library(mgcv)
x<- rnorm(200)
y<- rnorm(200)
z<-rnorm(200)
tab<-data.frame(x,y,z)
tab
#surface wireframe:
mod <- gam(z ~ te(x, y), data = tab)
library(rgl)
library(deldir)
zfit <- fitted(mod)
col <- cm.colors(20)[1 +
round(19*(zfit - min(zfit))/diff(range(zfit)))]
persp3d(deldir(x, y, z = zfit), col = col)
aspect3d(1, 2, 1)
库(mgcv)
x一种更简单的方法,没有delaunay的东西:
library(mgcv)
x <- rnorm(200)
y <- rnorm(200)
z <- rnorm(200)
tab <- data.frame(x,y,z)
mod <- mgcv::gam(z ~ te(x, y), data = tab)
grid <- -5:5
zfit <- predict(mod, expand.grid(x = grid, y = grid))
persp3d(grid, grid, zfit)
库(mgcv)
x一种更简单的方法,没有delaunay的东西:
library(mgcv)
x <- rnorm(200)
y <- rnorm(200)
z <- rnorm(200)
tab <- data.frame(x,y,z)
mod <- mgcv::gam(z ~ te(x, y), data = tab)
grid <- -5:5
zfit <- predict(mod, expand.grid(x = grid, y = grid))
persp3d(grid, grid, zfit)
库(mgcv)
x