R - 三个变量的等值线图

时间:2014-08-24 08:30:51

标签: r plot

我想知道是否有办法在R函数中生成类似于Mathematica的ContourPlot3D函数的图?基本上,它允许您以 f 的值绘制3D表面,其中 f 是隐式函数三个变量。来自Mathematica的示例: f(x,y,z)= x ^ 3 + y ^ 2 + z ^ 2

x <- y <- z <- seq(-2, 2, by=0.2)
grid <- expand.grid(x=x,y=y,z=z)
grid$f <- x^3 + y^2 + z^2

1 个答案:

答案 0 :(得分:3)

您可以尝试使用plot3D包。

vignette与Mathematica link you provided有类似的例子。

安装包,扫描晕影以获得所需的相关功能,并试用这些功能示例。例如,如果您想查看contour3D函数和surf3D函数:

install.packages("plot3D")
require("plot3D")
example(contour3D)
example(surf3D)

您可能需要slice3D()isosurf3D()

您还可以试用misc3d包。

require(misc3d)

x <- y <- z <- seq(-2, 2, by=0.2)

x <- seq(-2,2,len=50)
g <- expand.grid(x = x, y = x, z = x)
v <- array(g$x^3 + g$y^2 + g$z^2, rep(length(x),3))
con <- computeContour3d(v, max(v), level=.2)

drawScene(makeTriangles(con))