R中的3D曲面图

时间:2014-04-25 14:19:29

标签: r plot

我正在尝试在R-Project中创建一个3D图。我知道之前有这样的问题,但我无法用那里的答案来解决我的问题。

我拥有的是:

Vdot_L = c(0,1,2,3,4,5,6,7,8,9,10)
Qdot_verd = c(2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000) 
zeta_ex = 0.4
T_U = 293.15 #K
T_verd = 273.15 #K
T_cond=Vdot_L*2+T_U
epsilon_k = zeta_ex * T_verd/(T_cond - T_verd)
Pfun <- function(a,b) {a/b}
P    <- outer(Qdot_verd, epsilon_k, FUN="Pfun")

我想创建的是彩色曲面图,x轴为Vdot_L,y轴为Qdot_verd,z轴为P。我很满意每一个帮助。

2 个答案:

答案 0 :(得分:2)

这样的事情?

library(rgl)
zlim        <- range(P,na.rm=T)
zlen        <- zlim[2] - zlim[1] + 1
color.range <- rev(rainbow(zlen))       # height color lookup table
colors      <- color.range[P-zlim[1]+1] # assign colors to heights for each point
persp3d(Vdot_L, Qdot_verd, P, col=colors)

答案 1 :(得分:1)

你有没有调查过Plot3D包? http://cran.r-project.org/web/packages/plot3D/plot3D.pdf 这里有一个名为surf3d的方法,看起来它可以做你想要的。导入包后,将值转换为矩阵并写入:

surf3d(Vdot_L, Qdot_verd, P)

还有一个可以调整的颜色参数。

或者,使用rgl,并避免矩阵问题:

rgl.surface(Vdot_L, Qdot_verd, P)

另请查看这些帖子以获取更多信息: R: 3D surface plot from 2D matrix How to create 3D - MATLAB style - surface plots in R