使用R进行3D可视化

4

我有一组值w,适用于每个(x,y,z)。 我希望将这个4D数据可视化为交互式3D图像。

也就是说,每个3D像素x,y,z应该根据w获得一些颜色。

PS:w范围在0-7之间,其余的(x,yz)只是透明的。


4
如果您只是随意输入一些样本数据...但是rgl应该会有帮助。请尝试install.packages("rgl");require(rgl);demo(rgl) - Marek
看一下这里的两个答案:https://dev59.com/H2w15IYBdhLWcg3wLI3I#6775352 使用颜色参数来添加第四维。 - Ari B. Friedman
类似这样的吗?https://dev59.com/g1fUa4cB1Zd3GeqPEhq4 - Roman Luštrik
我尝试过它们,可以用不同颜色绘制3D点。但我正在寻找一个3D体积图(类似于2D图像图,其中(x,y)是坐标,z是像素值)。这里(x,y,z)是坐标,w是像素值。 - r00kie
可能是 rgl::surface3d(请参见Marek指出的演示)? - Roman Luštrik
我怀疑这几乎是一个完全相同的副本:https://dev59.com/T1DTa4cB1Zd3GeqPLLL6 - joran
1个回答

1

这里有一个例子。请注意,您的 z 数据需要是一个具有 x 行和 y 列的矩阵。

library(rgl)
set.seed(1)
x <- seq(1,10)
y <- seq(1,10)
w <- runif(100)
z <- runif(100)

wcolors <- rainbow(length(w))[rank(w)]
zmat <- matrix(z, length(x),length(y))

persp3d(x=x, y=y, z=zmat, col = wcolors)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接