4

每隔一段时间,我想使用 R 来绘制 3d 图,如下所示。

X=seq(-3,3,0.05)
y=c(); for(i in X) { y=c(y,rep(i,length(X))) }
x=rep(X,length(X))
z=pmin(x,y)
library(lattice)
wireframe(z~x*y, shade=TRUE, scales=list(arrows=FALSE))

这会产生很好的情节

在此处输入图像描述

但是有没有更自然/有效的方式来生成xy向量?我想要一个“产品”运算符之类的东西,它可以给我所有可能的配对。

4

1 回答 1

5

这是使用expand.gridand的简单方法outer

library(lattice)

x <- seq(-3,3,by=0.05)
y <- seq(-3,3,by=0.05)

grid <- expand.grid(x=x, y=y)

dim(grid)
[1] 14641     2

grid$z = with(grid, pmin(x,y))

wireframe(z ~ x*y, data=grid, shade=TRUE, main="X=Y",
scales=list(arrows=FALSE))

contourplot(z ~ x*y, data=grid, cuts=10, aspect = "iso")
于 2013-07-17T13:24:48.617 回答