如何在 R 中创建 4D 轮廓曲面图?

问题描述

我有包含三个输入变量和一个输出变量的 4D 数据。现在我想在 R 中绘制一个 4D 轮廓曲面图,该图的三个轴等于三个输入变量,轮廓曲面显示输出。如图。任何人都可以帮助创建它吗?

4D plot

我的代码是:

Dt<-seq(0,150,length=20)
Vt<-seq(0,1400,length=20)
Pt<-seq(0,400,length=20)

rr <- expand.grid(Dt=Dt,Vt=Vt,Pt=Pt)

library(FAdist)

Fp2<-NULL
Fd2<-NULL
Fv2<-NULL

Fp2<-pgamma(rr$Pt,shape=0.9,scale =83.5)
Fd2<-pgamma3(rr$Dt,shape=0.39,scale=53.3,thres=0)
Fv2<-pweibull(rr$Vt,shape=0.54,scale=41.5)

library(Vinecopula)

z_12<-BicopCDF(Fp2,Fd2,family = 5,par = 5.74,par2 = 0,obj = NULL,check.pars = TRUE)
z_23<-BicopCDF(Fd2,Fv2,par = 12.8,check.pars = TRUE)
z_13<-BicopCDF(Fp2,par = 7.73,check.pars = TRUE)

Z_123<-BicopCDF(z_12,z_23,par = -2.47,check.pars = TRUE)
p<-(1-Fp2-Fd2-Fv2+z_12+z_23+z_13-Z_123)
E_L<-0.2894
T_123<-(E_L)/(p)

rr$zt<-T_123

现在我想创建一个 4D 图(用于 rr 数据),其中包含三个输入轴,包括 Pt、Dt、Vt 和轮廓表面中的输出 Zt。

我也试过 misc3d::contour3drgl::plot3d,它有一些缺点,包括当数据为正时,我得到错误subscript out of bounds。此外,输出没有曲面值的 colkey 指南。

library(misc3d)
library(rgl)

levels <- (1:19)/20
colors <-  rainbow(19)
zt <- array(rr$zt,c(length(Pt),length(Vt),length(Dt)))

plot3d(rr,type = "n")
contour3d(zt,levels,Pt,Vt,Dt,color = colors,add = TRUE)

错误

#Error in tris[3 * (1:n) - 2,] : subscript out of bounds

有没有人有更好的解决方案来显示更好的输出,就像我上面放的图一样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...